Để làm được điều này, AngularJS cung cấp ng-view và ng-template directive và $routeProvider service.
Thẻ ng-view đơn giản là tạo nơi giữ các màn hình view tương ứng có thể được đặt trong nó dựa vào cấu hình.
Định nghĩa thẻ div với ng-view trong module chính.
<div ng-app="ungdungAngularJS">
...
<div ng-view></div>
</div>
ng-template directive được sử dụng để tạo ra các HTML view sử dụng thẻ script. Nó chứa thuộc tính "id" được sử dụng bởi $routeProvider để liên kết view và controller.
Định nghĩa một khối script với kiểu như ng-template trong module chính.
<div ng-app="ungdungAngularJS">
...
<script type="text/ng-template" id="themSV.html">
<h2> Add Student </h2>
{{message}}
</script>
</div>
Là dịch vụ chính trong việc tạo các cấu hình cho địa chỉ URL, liên kết chúng với trang HTML tương ứng hoặc ng-template và gắn controller với chúng.
Định nghĩa một khối script trong module chính và thiết lập cấu hình định tuyến.
var ungdungAngularJS = angular.module("ungdungAngularJS", ['ngRoute']);
ungdungAngularJS.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/themSV', {
templateUrl: 'themSV.html',
controller: 'themSVController'
}).
when('/quansatSV', {
templateUrl: 'quansatSV.html',
controller: 'quansatSVController'
}).
otherwise({
redirectTo: '/themSV'
});
}]);
Dưới đây là những điểm quan trọng cần xem xét từ ví dụ trên.
Ví dụ Dưới đây là ví dụ minh họa cho những directive mô tả bên trên.
thanhphanView.html
<html>
<head>
<title>Vi du View trong Angular JS</title>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular-route.min.js"></script>
</head>
<body>
<h2>Ung dung AngularJS</h2>
<div ng-app="ungdungAngularJS">
<p><a href="#themSV">Them sinh vien</a></p>
<p><a href="#quansatSV">Quan sat sinh vien</a></p>
<div ng-view></div>
<script type="text/ng-template" id="themSV.html">
<h2> Them sinh vien </h2>
{{message}}
</script>
<script type="text/ng-template" id="quansatSV.html">
<h2> Quan sat sinh vien </h2>
{{message}}
</script>
</div>
<script>
var ungdungAngularJS = angular.module("ungdungAngularJS", ['ngRoute']);
ungdungAngularJS.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/themSV', {
templateUrl: 'themSV.html',
controller: 'themSVController'
}).
when('/quansatSV', {
templateUrl: 'quansatSV.html',
controller: 'quansatSVController'
}).
otherwise({
redirectTo: '/themSV'
});
}]);
ungdungAngularJS.controller('themSVController', function($scope) {
$scope.message = "Trang nay se duoc su dung de hien thi mot form de them sinh vien";
});
ungdungAngularJS.controller('quansatSVController', function($scope) {
$scope.message = "Trang nay se duoc su dung de quan sat tat ca sinh vien";
});
</script>
</body>
</html>
Kết quả
Mở trang thanhphanView.html trên trình duyệt web và bạn sẽ thấy kết quả sau.
Unpublished comment
Viết câu trả lời