Angular $范围没有得到变量

时间:2016-05-12 15:58:12

标签: angularjs scope

我有一个简单的html文件,可以在Algolia上进行搜索并返回结果。我可以控制结果,但无法从视图中访问$ scope.users。我怎样才能抓住那个$ scope.users。

这是我的app.js文件

    var myApp = angular.module('myApp', []);

    myApp.controller('usersController', function($scope) {
        $scope.users = [];

        var client = algoliasearch('my_app_id', 'my_app_key');
        var index = client.initIndex('getstarted_actors');

        index.search('john', function searchDone(err, content) {
          $scope.users.push(content.hits);
          console.log(content.hits);
        });

    });

这是我的html视图文件

<div class="results" ng-controller="usersController">
    <div ng-repeat="user in users">
        <h3>{{ user.name }}</h3>
    </div>  
</div>

注意:html标记中给出的ng-app =“myApp”属性。

3 个答案:

答案 0 :(得分:1)

index.search

$digest

$apply可能会引发$timeout错误 - 另一种方式是index.search('john', function searchDone(err, content) { $scope.users.push(content.hits); $scope.$apply(); });

$apply()

答案 1 :(得分:0)

尝试调用my_list_names = {obj.name.lower() for obj in my_list} new_list = [obj for obj in src_list if obj.name.lower() not in my_list_names] 来更新绑定

found

答案 2 :(得分:0)

algoliasearch看起来不像是一个注入的服务,因此不是角度框架的原生。尝试拨打$scope.$apply()