我有像
这样的工厂方法angular.module('mctAppServices', ['ngResource'])
.factory('Users', function($resource) {
return $resource('/MY/system/users');
})
.factory('Groups', function($resource) {
return $resource('/MY/system/users');
});
如何为不同的方法初始化控制器,如
<div ng-init="myObj: Users">
<div ng-controller="GenrlCtrl">
...
</div>
</div>
然后在我的控制器工厂方法中我正在尝试这样的事情
function GenrlCtrl($scope) {
//here $scope.myObj is undefined
}
答案 0 :(得分:1)
访问服务与ng-init无关,ng-init很少使用。 AngularJS具有dependency injection机制。在函数签名中声明服务名称,然后就可以访问它了。
在您的情况下,控制器可以这样写:
function GenrlCtrl($scope, Users, Groups) {
$scope.factoryMethod = User.query();
}
虽然HTML可以简化为:
<div ng-controller="GenrlCtrl">
...
</div>
顺便说一下,这是一个显示如何使用$ resource的short video。