簡體   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