角度条件templateURL

时间:2016-07-26 06:31:27

标签: javascript angularjs angularjs-directive

我想在我的指令中使用条件 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

为什么呢?对动态模板网址的任何建议都取决于属性? 但顺便问一下,这是最好的方式吗?

3 个答案:

答案 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)

试 选择-指令

而不是条件网址。