[英]AngularJS dynamic template not evaluated
我在指令的compile屬性中動態生成表模板:
compile : function (tElem, tAttrs, test) {
$http.get(tAttrs["source"]+"/0/1/true").success(
function(result) {
// adding angular expressions for adding data in table
var tr = '<tr ng-repeat="item in data track by $index" >';
for (var name in result[0]) {
console.log(name);
tr += '<td>{{ item.'+name+' }}</td>';
}
tElem.find("tbody").append(tr+'</tr>');
});
return function(){ ... }
}
但是表達式不求值,我只能得到
{{ item.id }} {{ item.currMtmDate }} {{ item.prevMtmDate }} {{ item.user }} {{ item.description }}
顯示在我的頁面上。
如果我做
var v = 'currMtmDate';
var b = '<tr ng-repeat="item in data track by $index"><td>{{ item.'+v+' }}</td></tr>';
tElem.find("tbody").append(b);
那么效果很好。
我不知道為什么它在第二個示例而不是第一個示例中起作用。
這樣做的一種好方法是使用ng-include標記創建一個div並更新該標記: div ng-iclude="templateUrl"></div>
然后在$ http末尾更新變量'templateUrl' 。得到
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.