簡體   English   中英

AngularJS動態模板未評估

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM