gpt4 book ai didi

javascript - 如何使用路由更改 AngularJS 中的整个页面?

转载 作者:行者123 更新时间:2023-12-02 15:24:22 25 4
gpt4 key购买 nike

我是 AngularJS 的初学者。我使用简单的路由来更改数据的特定部分,这种情况工作正常,在这种情况下,我想更改整个页面数据而不刷新页面。这里最后一个li名称更改完整页面我想单击第三个li整个页面数据应该更改而不刷新页面。

路由.html:

<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
</head>
<body ng-app="sampleApp">
<ul class="nav">
<li><a href="#/AddNewStudent"> Add New Student </a></li>
<li><a href="#/ShowStudents"> Show Student </a></li>
<li><a href="#/changepage"> Change Full Page </a></li>

</ul>
<div ng-view></div>
</body>

<script type="text/javascript">
var sampleApp = angular.module('sampleApp', []);
sampleApp.config(['$routeProvider',
function($routeProvider){
$routeProvider
.when('/AddNewStudent',{
templateUrl : 'addnewstudents.html',
controller : 'AddNewStudentController'
})
.when('/ShowStudents',{
templateUrl : 'showStudents.html',
controller : 'showStudentsController'
})
.when('/changepage',{
templateUrl : 'changepage.html',
controller : 'changepageController'
})
.otherwise({
redirectTo: '/AddNewStudent'
});
}]);
sampleApp.controller('AddNewStudentController',function($scope){
$scope.message = "Please Add New Student ";
});
sampleApp.controller('showStudentsController',function($scope){
$scope.message1 = 'Show All Students';
});
sampleApp.controller('changepageController',function($scope){
$scope.message2 = 'Change Whole Page';
});
</script>
</html>

addnewstudents.html:

<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
</head>
<body>
{{message}}
</body>
</html>

showStudents.html:

<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
</head>
<body>
{{message1}}
</body>
</html>

changepage.html:

<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
</head>
<body>
{{message2}}
</body>
</html>

最佳答案

您无法使用 angularjs 路由更改整个页面。 Angular js $routeProvider 仅针对 ng-view 占位符,并将 ng-view div 的内容(innerHtml)替换为从路由配置中定义的 templateUrl 返回的内容.

因此,您的 templateUrl 应该仅返回部分 View 。意味着它不应该包含标签。此外, Angular 引用已经加载到父 View 中,因此需要在每个部分 View 中加载它。

示例 addnewstudents.html --

<h2>Add Student<h2>
{{message}}

关于javascript - 如何使用路由更改 AngularJS 中的整个页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33813704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com