查询不适合我

时间:2014-08-03 18:34:45

标签: javascript angularjs angularjs-directive angularjs-scope angular-ui

我正在使用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上运行时,我没有点击按钮的任何内容。是否有任何方法可以实现此目的。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

这不会奏效。尝试在标记中使用{{ result }}的常规变量赋值。 $resource会返回一个$q对象,一旦查询结果到达,该对象就会被解析。

在你的控制器中添加$scope.result = AngularIssues.query()并相应地修改html标记。