對不起,如果這是一個簡單的問題。我是新人,可能不理解正確的事情來尋找答案。AngularJS:無法將工廠連接到控制器
我基本上遵循了這一angularJS教程http://www.youtube.com/watch?v=i9MHigUZKEM
我經歷這一切變得除了建立一個工廠,連接到我的控制器。
這裏是工廠代碼:
demoApp.factory('simpleFactory', function(){
var people = [
{ name: 'Will', age: '30' },
{ name:'Jack', age:'26' },
{ name: 'Nadine', age: '21' },
{ name:'Zach', age:'28' }
];
var factory = {};
factory.getPeople = function() {
return people;
};
});
這裏是控制器:
demoApp.controller('FirstCtrl', ['$scope', 'simpleFactory', function ($scope, simpleFactory) {
$scope.people = simpleFactory.getPeople();
}]);
而只是一個簡單重複的HTML:
Name:
<input type="text" ng-model="filter.name"> {{ nameText }}
<ul>
<li ng-repeat="person in people | filter:filter.name | orderBy: 'name'">{{ person.name }}- {{ person.age }}</li>
</ul>
錯誤我得到的是「TypeError:無法在JavaScript控制檯中調用未定義的方法'getPeople'。
注:這一切都正常工作時,控制器內我有數據對象硬編碼像這樣:
demoApp.controller('FirstCtrl', ['$scope', 'simpleFactory', function ($scope, simpleFactory) {
$scope.people = [
{ name: 'Will', age: '30' },
{ name:'Jack', age:'26' },
{ name: 'Nadine', age: '21' },
{ name:'Zach', age:'28' }
];
}]);
改變你的工廠在2002年底:'{回報getPeople:函數(){返回的人;}};' – calebboyd
只要將 '回廠;'到你工廠的盡頭,你應該是金的。 –