angularjs custom directive为templateUrl传递string属性

时间:2015-06-04 17:07:12

标签: angularjs angularjs-directive

我有一个如下指令,我希望能够在自定义指令中传递templateUrl

<div ng-if="box.key === 'experiences'" 
   experiences-form
   template-url="'experiences.php'" // template url I am trying to pass
   item="item"
   forms="forms"
   form-name="{{box.key}}{{item._id}}"
   onsave="updateMultipleUser(box.key, item._id, $data)"
   cancel="formAction($formName, 'cancel')"
   >
</div>

DDO for directive

{
    restrict: 'A',
    replace: true,
    scope: {
        onsave: '&',
        cancel: '&',
        formName: '@',
        forms: '=',
        item: '='
    },
    controller: controller,
    templateUrl: function (tElement, tAttrs) {
        return tAttrs.templateUrl; // returns 'experiences.php' how to get rid of the single quotes?
    }
};

2 个答案:

答案 0 :(得分:0)

尝试

return tAttrs.templateUrl.replace(/^'|'$/g,"")

虽然建议在template-url="'experiences.php'"或您要创建的地方删除这些单引号

答案 1 :(得分:0)

为什么要将引号放在templateUrl属性中? 它应该像那样工作:

paper-drawer-panel

如果它不起作用,您是否可以复制并粘贴错误消息或结果?