嗨! 我正在做一个webapp,我需要将我的数组共享给我的控制器。 谢谢。!
MyControllers.controller('MyCtrl',['$scope',
function ($scope){
$scope.items = [{id:1}, {id:2}, {id:3}];
$scope.addNewItem = function() {
var newItemNo = $scopeItems.length+1;
$scope.Items.push({'id':newItemNo});
};
$scope.showAddItem = function(Item) {
return Item.id === $scope.Items[$scope.Items.length-1].id;
};
}
]);
答案 0 :(得分:0)
您的代码存在一些问题。
var newItemNo = $scopeItems.length+1;
你可能想要
var newItemNo = $scope.Items.length+1;
谢谢:)
另外,对于你的
MyController.controller
部分,你想要像
这样的东西angular.module('appName').controller
此外,您可以将服务注入控制器或将其绑定到$ rootscope,但在您的情况下不应该这样做。 :d
答案 1 :(得分:0)
Angular工厂是单件工厂,因此工厂内的数据可以在所有控制器之间共享。您只需将工厂注入控制器即可。
var myApp = angular.module('myApp');
myApp.factory('myService', function() {
var _items = [{id:1}, {id:2}, {id:3}];
return { items : _items };
});
myApp.controller('MyCtrl1',['$scope', 'myService', function ($scope, myService){
$scope.items = myService.items;
]);
myApp.controller('MyCtrl2',['$scope', 'myService', function ($scope, myService){
$scope.items = myService.items;
]);