0
我被卡住了指令的動態模板。主要是被稱爲評論的指令。替換評論指示的內容
例如,我創建了一個指令,應該檢查元素的類型和適當的模板。在鏈接函數中,我檢查作用域中元素的屬性類型並選擇所需的模板。
所有工作正常,如果我把指令作爲一個屬性或元素。但是,如果我將它稱爲註釋,則不會發生任何情況,輸出爲空。
這裏說的指令代碼:
app.directive('inQux', function ($compile) {
var template, inQux, linker;
template = {
foo: '<div>I\'m foo. {{item.value}}</div>',
bar: '<div>I\'m bar. {{item.value}}</div>'
};
linker = function ($scope, element, attrs) {
var content = $compile(template[$scope.item.type])($scope);
element.append(content);
};
inQux = {
restrict: 'AME',
replace: true,
link: linker
};
return inQux;
});
您可以通過以下the link
所以找到完整的例子,我的問題是有沒有辦法來取代對註釋的指令內容?
是的,看起來如果我添加模板屬性,那麼一切工作幾乎沒有問題。 element.html(template [$ scope.item.type]); $ compile(element.contents())($ scope); 實際上,jsfiddle上的代碼示例是實際生產代碼的極大簡化。我需要的是指令應該在其範圍內的特定值上使用的更改模板。 – vansanblch 2013-04-25 05:47:30
一種可能的方法是在模板內使用'ng-switch'指令,如[here](http://jsfiddle.net/lutze/Qsf92/4/)。 – Lutz 2013-04-25 08:13:44