繁体   English   中英

控制器中的AngularJS范围问题

[英]Issue with AngularJS scope in controller

下面是我的视图代码和控制器中的代码摘要。

视图:

<div id="search_results" ng-controller="SearchCtrl">
   <ul>
      <li ng-repeat="result in results">{{result.name}}</li>
   </ul>
</div>

控制器:

   myapp.controller('SearchCtrl', function($scope,SearchF) {    
      $scope.launch_search = function() {
         SearchF.update(function() {
            $scope.results = SearchF.get();
         });
      }
   })

函数.get()返回我的数据,但视图不会更新。 看起来我的范围($ scope.results)没有引用一般范围。 如果我在launch_search函数之外编写.update()块,则视图更新正常。

任何想法?

非常感谢大家

.get()是一个异步调用,如果它使用ngResource ,则在回调中分配数据:

 SearchF.get({}, function(data) {
     $scope.results = data;
 });

解决方案是使用$scope.$parent.results来引用父作用域。

当然有些人必须触发你的功能吗?

点击您的视图更新后,按下ng-click="launch_search()"按钮。 如果您希望在加载检查时更新视图

如何在页面加载时执行角度控制器功能?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM