angular.js:13424 ReferenceError:在控制器中使用工厂方法时未定义索引
angular.js:13424 ReferenceError: index is not defined when using factory method in controller
我创建了一个Angular工厂,然后在控制器中使用它。工厂包含一个delete
方法,我正试图在我的控制器中使用它,但是,我看到一个错误,说index
没有定义。以前,在我有工厂之前,当所有东西都在控制器中时,这个功能可以工作,但现在不再定义index
。我在这里读了很多答案,但找不到答案。
我的代码如下:
js
app.factory('addressFactory', function(){
var addressFactory = {};
addressFactory.addressBook = [];
addressFactory.deleteAddress = function(index) {
addressFactory.addressBook.splice(index, 1);
localStorage.setItem('addressBook', JSON.stringify(messages.addressBook));
}
return addressFactory;
})
.controller('testCtrl', ['$uibModal', 'addressFactory', function ($uibModal, addressFactory) {
this.addressBook = addressFactory.addressBook;
this.deleteAddress = addressFactory.deleteAddress(index);
}]);
html
<div ng-repeat="contact in ctrl.addressBook track by $index">
<p>{{contact.name}}</p>
<button ng-click="ctrl.deleteAddress($index)">Delete Contact</button>
</div>
更改此
this.deleteAddress = addressFactory.deleteAddress(index);
到此:
this.deleteAddress = function(index){
addressFactory.deleteAddress(index);
};
相关文章:
- AngularJS:$q.dedefe()不能由工厂方法共享
- AngularJS错误:提供程序必须从$get工厂方法返回值
- 修复AngularJS错误:提供程序必须从$get工厂方法返回值
- 如何重用ajax工厂方法来设置$scoped变量
- angular.js:13424 ReferenceError:在控制器中使用工厂方法时未定义索引
- 如何从变量中动态调用工厂方法
- jasmine 2.0测试angularjs的工厂方法,这是一个承诺
- 如何访问控制器内的工厂方法
- 工厂方法似乎未定义
- 调用工厂方法时出现 Angularjs 错误
- 在angularjs工厂方法中添加事件侦听器无法按预期工作
- 如何在Angular中的工厂方法中返回数据
- 工厂方法没有't return-TypeError:无法读取属性'那么'的未定义
- AngularJS-错误:[$injector:pget]提供程序'函数()'必须定义$get工厂方法
- $rootScope和工厂方法
- 正在尝试调用工厂方法
- 组合多个API调用和处理后从工厂方法返回promise
- 在其他方法中使用工厂方法
- Angular的工厂方法不是一个函数(dataFactory).addContact不是一个函数)
- AngularJS提供了工厂方法的成功回调