2017-02-17 136 views

回答

0

更新:

以下是你寫在main.html中

<search-results customers-d ="customers" ng-repeat="CM in customersD></search-results> 

下面的代碼是你寫的指令SearchResult所:

myApp.directive('searchResults', function() { 
    return { 
     templateUrl: 'directives/search.html', 
     scope: { 
      customersD: '=', 
     } 
    } 
}); 

Followin g是你寫的主控制器:

myApp.controller('mainController', ['$scope', '$log', function($scope, $log) { 
    $scope.customers = [{ name:'Rishabh'},{name:'Krishna'}] 
}]); 

而且search.html如下:

<a href="#" class="list-group-item"> 
    <h4 class="list-group-item-heading"> hi </h4> 
    <p class="list-group-item-text">{{CM.name}}</p> 
</a> 

現在事情你做錯了:

  1. 缺少收盤報價在main.html的ng-repeat中
  2. 試圖訪問main.html中的customersD,而沒有名爲customersD的數組定義d在mainController的$ scope中。
  3. 嘗試訪問search.html中的CM(這是隔離範圍指令的模板)。您只能在search.html中擁有customersD

我認爲您對範圍的理解不正確。如果您在這裏提問之前已經閱讀足夠的內容,那將會很好。 :)

以前的答案: 你缺少在NG-重複收盤報價和使用錯誤的變量 操作如下:在

<search-results customers-d ="CM" ng-repeat="CM in customers"></search-results> 
+0

補充說,報價和你的變量仍然不顯示名稱,並作爲PLZ解釋變更變量的原因 –

+0

嘿Pranav感謝您的答覆!您的第二點說在main.html中嘗試訪問customersD,而mainController的$ scope中沒有定義名爲customersD的數組。但這就是爲什麼我已經定義了客戶D訪問客戶對象 –

+0

'customers-d =「customers」'把客戶'對象傳遞給指令,並且可以通過'customersD'在指令中訪問,但是您嘗試重複的數組是'customersD',它不在mainController的範圍內。 所以沒有循環執行,沒有任何顯示。 – pranavjindal999

0

main.html中

<div class="list-group"> 
    <search-results customers-d ="customers" ng-repeat="CM in customers"></search-results> 
</div> 

指令的變化app.js

myApp.directive('searchResults', function() { 
return { 
    restrict : "AE", 
    templateUrl: 'directives/search.html' 
} 
}); 
相關問題