我想在我的指令中使用条件 templateURL 到属性。这是我的代码:
MapMarker.js:
app.directive('mapMarker',function(){
return {
'app/user/ngApp/templates/libsView/templates/directives/map.html',
templateUrl : function (elem , attrs) {
if (attrs["mapRequire"] == "yes")
{
console.info("have yes");
}
else
{
console.info("doesn't have yes" , attrs["mapRequire"]);
}
return attrs["mapRequire"] == "yes" ?
'this is text' : '../templates/directives/map1.html';
},
HTML:
<map-marker mapRequire = "yes"></map-marker>
返回doesn't have yes undefined
。
为什么呢?对动态模板网址的任何建议都取决于属性? 但顺便问一下,这是最好的方式吗?
答案 0 :(得分:2)
请记住标准normalization conventions。 HTML中的kebab-case转换为JS中的camelCase。
看起来应该是这样的:
<map-marker map-require="yes"></map-marker>
答案 1 :(得分:1)
所有html属性必须是蛇形的(只允许小写字母和' - ')..
并且您正在使用camel case表单中的mapRequire属性
相反,您应该将其用作
<map-marker map-require = "yes"></map-marker>
答案 2 :(得分:-1)
试 选择-指令
而不是条件网址。