我们可以从一个html页面调用一个控制器到angularjs中的另一个html页面
问题描述:
我的home.html页面中有一个控制器作为HomeController,我想在我的about.html页面中调用相同的控制器及其内容。下面的代码是主页,它将显示用户的名字和姓氏,我想调用相同的功能,例如在关于我们页面中调用名字和姓氏。怎么做?截至目前,我只是复制整个并粘贴在about控制器只是将控制器名称从HomeController更改为AboutController。我们可以从一个html页面调用一个控制器到angularjs中的另一个html页面
(函数(){ '使用严格';
angular
.module('app')
.controller('HomeController', HomeController);
HomeController.$inject = ['UserService', '$rootScope','$scope', '$http'];
function HomeController(UserService, $rootScope,$scope, $http) {
var vm = this;
vm.user = null;
vm.allUsers = [];
vm.deleteUser = deleteUser;
initController();
function initController() {
loadCurrentUser();
loadAllUsers();
}
function loadCurrentUser() {
UserService.GetByUsername($rootScope.globals.currentUser.username)
.then(function (user) {
vm.user = user;
});
}
function loadAllUsers() {
UserService.GetAll()
.then(function (users) {
vm.allUsers = users;
});
}
function deleteUser(id) {
UserService.Delete(id)
.then(function() {
loadAllUsers();
});
}
$http.get('webservice').
then(function(response) {
$scope.user_message = response.data.data;
});
}
})();
如果我正确理解你的问题,这是可能的。请详细说明你的问题。显示代码结构。 – Sangharsh
您可以使用控制器继承。在一个基本控制器中具有通用功能,然后在其他控制器中,可以使用派生控制器范围启动基本范围,以便可以从视图访问基本方法。 –
通过在路由器的每个状态中指定要使用它的位置,您可以使用(不呼叫)相同的控制器。 – Faly