我正在开发一个小部件,我想呈现一些消息/文本此起彼伏。我想根据消息的类型更改消息的模板。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