我正在開發一個小部件,我想呈現一些消息/文本此起彼伏。我想根據消息的類型更改消息的模板。Angular指令 - 如何根據屬性值選擇模板?
我目前的指令設置如下
directive('cusMsgText', function(){
return {
restrict: 'E',
template:function(elements, attrs){
return '<div></div>';
},
link: function($scope, iElm, iAttrs, controller) {
//add children to iElm based on msg values in $scope
}
};
});
該指令的使用步驟如下
<div ng-repeat="(key, value) in chatUser.msg">
<data-cus-msg-text msg="value.type"></data-cus-msg-text>
</div>
現在我的問題是 - :
是否有可能返回一個多個字符串(模板)從 模板函數本身基於實現屬性
msg
的AL值。我試着在模板函數訪問attrs.msg
它 返回value.type
。如果不是那麼操縱
linker
或我 需要把它移動到compile
函數是好的嗎?
我無法訪問實際值提供屬性的指令。在模板函數下,value.type是一個字符串。 –
在你提供的例子,你的指令有一個'msg'屬性。如果我明白了,可以通過該屬性將該類型傳遞給指令。您可以在該值上進行切換,但我沒有看到問題所在。另外,「模板函數」是什麼意思? '鏈接'功能? – link