Javascript 角度扩展控制器
我有两个控制器在我的角度-'table'和'studentTable' 问题是'table'中的$scope无法从'studentTable'中的$scope读取数据 我有两个控制器的原因是我有这么多的表,比如'teacherTable','classRoomTable',等等,它们都使用'table'的函数。这有点像扩展“表”。我有没有办法让它工作得更好Javascript 角度扩展控制器,javascript,html,angularjs,Javascript,Html,Angularjs,我有两个控制器在我的角度-'table'和'studentTable' 问题是'table'中的$scope无法从'studentTable'中的$scope读取数据 我有两个控制器的原因是我有这么多的表,比如'teacherTable','classRoomTable',等等,它们都使用'table'的函数。这有点像扩展“表”。我有没有办法让它工作得更好 (function () { "use strict"; angular.module("app", []).controller("tab
(function () {
"use strict";
angular.module("app", []).controller("table", ['$scope', function ($scope) {
return $scope.displayData = function () {
return $scope.data2=$scope.data;
};
}])
.controller("studentTable", ['$scope', '$http', function ($scope, $http) {
return $scope.getData = function () {
$http.post('/api/getUserByUserId/1', {}).success(function (data, status, headers, config) {
return $scope.data = data;
}).error(function (data, status, headers, config) {
});
}, $scope.getData();
}])
})
<div data-ng-app="app">
<div data-ng-controller="table">
<div data-ng-controller="studentTable">
{{data}}
{{data2}}
<button ng-click="displayData()">click</button>
</div>
您应该使一个表成为“服务”,并使两个作用域都使用它,因为它的作用域由子控制器继承,所以学生表仍然能够访问“表”中的作用域。服务提供了一个双向通信平台-您应该设置一个供这些控制器使用的表服务
(function () {
"use strict";
angular.module("app", []).controller("table", ['$scope', function ($scope) {
return $scope.displayData = function () {
return $scope.data2=$scope.data;
};
}])
.controller("studentTable", ['$scope', '$http', function ($scope, $http) {
return $scope.getData = function () {
$http.post('/api/getUserByUserId/1', {}).success(function (data, status, headers, config) {
return $scope.data = data;
}).error(function (data, status, headers, config) {
});
}, $scope.getData();
}])
})
<div data-ng-app="app">
<div data-ng-controller="table">
<div data-ng-controller="studentTable">
{{data}}
{{data2}}
<button ng-click="displayData()">click</button>
</div>