我正在使用angularJs ng-resource。我试过这个
angular.module('app.services', ['ngResource'])
.factory('AngularIssues', function($resource){
return $resource('../test.json',{},{
query: {
isArray: true,
method:'GET'
}}
)
})
我有test.json文件,如下所示
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
现在在index.html中我写了类似的东西
<div ng-controller="editor">
<button ng-click='get_rest()'>Get element through rest</button> <br/>
</div>
<div id="message" />
我的控制器是这样的
angular.module('app.controllers', [])
.controller('editor', ['$scope' ,'AngularIssues', function($scope , AngularIssues ) {
$scope.get_rest = function(){
$('#message').text(AngularIssues.query());
}
}]);
我希望看到使用ng-resource功能获取get查询,但是当我在localhost上运行时,我没有点击按钮的任何内容。是否有任何方法可以实现此目的。 提前谢谢。
答案 0 :(得分:0)
这不会奏效。尝试在标记中使用{{ result }}
的常规变量赋值。 $resource
会返回一个$q
对象,一旦查询结果到达,该对象就会被解析。
在你的控制器中添加$scope.result = AngularIssues.query()
并相应地修改html标记。