我有这个工厂:
factory('getJson', ['$resource', function($resource) {
return $resource('json/greetings.json', {}, {
query: {method:'GET', isArray:true}
});
}]);
文件是硬编码的'greetings.json',我希望工厂根据我视图中的复选框获取文件:
<li><input type="checkbox" ng-model="includeVeggies" />Veggies</li>
<li><input type="checkbox" ng-model="includeGreetings" />Greetings</li>
任何想法我该怎么做?
答案 0 :(得分:7)
您可以返回一个功能:
.factory('getJson', ['$resource', function($resource) {
return function (file) {
return $resource(file, {}, {
query: {method:'GET', isArray:true}
});
};
}]);
然后在你的控制器中:
.controller('MyController', ['getJson', function (getJson) {
getJson('json/greetings.json');
});