0
這很奇怪。在我投入td之前沒有顯示角度ng-repeat數據
我有以下表指令:
/**
* Created by root on 8/4/16.
*/
angular.module('LBTable').directive('lbTable', ['tabService', function (tabService) {
return {
restrict: 'E',
roles: 'all',
templateUrl: 'js/helpers/LBTable/directives/lb-table/lb-table.html',
scope: {
tableData: '=',
tableFields: '=',
actionElement: '='
},
link: function (scope, element, attrs) {
scope.filterFields = [];
findFilterFields();
function findFilterFields() {
scope.tableFields.forEach(function (x) {
if (x.sortable == true) {
scope.filterFields.push(x.fieldKey);
}
});
}
}
}
}]);
這有以下的html:
<table id="table-client" class="table table-responsive" >
<thead>
<tr>
<th ng-repeat="field in tableFields" translate="{{field.headerTitle | translate}}"></th>
<th class="text-right"
translate="TERMS.ADMINISTRATION" ng-if="actionElement != null"></th>
</tr>
</thead>
<tbody>
<tr ng-repeat="item in tableData track by item.id">
<lb-table-element element-data="item" table-fields="tableFields"></lb-table-element>
</tr>
</tbody>
在此你可以看到另一個指令:lbTableElement
該指令看起來像這樣:
/**
* Created by root on 8/4/16.
*/
angular.module('LBTable').directive('lbTableElement', ['tabService', function (tabService) {
return {
restrict: 'E',
roles: 'all',
replace: true,
templateUrl: 'js/helpers/LBTable/directives/lb-table-element/lb-table-element.html',
scope: {
elementData: '=',
tableFields: '='
},
link: function (scope, element, attrs) {
var data = scope.elementData;
}
}
}]);
並具有以下HTML:
<td ng-repeat="field in tableFields">
{{elementData[field.fieldKey]}}
</td>
Nnow的tableData
陣列由1240
對象。但是當我運行這個沒有數據顯示。
但是如果我重新格式化我的HTML看起來像這樣:
<td> <lb-table-element element-data="item" table-fields="tableFields"></lb-table-element></td>
對象item
不再undefined
和數據顯示。
有誰能告訴我爲什麼?
Fiddle for you to try out (simpler example)
td的模板不應該是'{{field.fieldKey}}'而不是'{{elementData [field.fieldKey]}}'嗎?或數據「> {{field.fieldKey}}中的'
@thepio no elementData是該項目,然後fieldKey是它們在對象im拔出時的關鍵字。從來沒有真正的問題是爲什麼你需要 –
我可能只是累了,但你重複'tableFields'和裏面,你試圖顯示elementData這可能是一個數組,這就是爲什麼沒有打印出來,然後你是試圖看看它的關鍵? – thepio
回答
所有的意見後,我意識到是什麼導致你的麻煩。你需要通過設置指令爲屬性而不是像這樣的元素來解決這個問題:
然後你可以重複數據在你的指令或重複的元素本身。恐怕沒有其他解決方案。
來源
2016-08-04 13:39:58 thepio
相關問題