将模板URL传递给控制器​​的指令

时间:2015-03-19 09:05:51

标签: angularjs angularjs-directive angularjs-scope

我正在尝试从控制器向指令发送模板URL。硬编码模板网址工作正常。这是有效的:

<div my-directive template-url = "my-template.html" ></div>

并在指令

    return {
        restrict: 'AEC',
        templateUrl: function (tElement, tAttrs) {
            return tAttrs.templateUrl;
        },
        controller: 'myController as myCtrl',
        scope: {
            myDirective: '='
        }
    };

但是我想在指令中指定template-url时使用我的控制器变量。所以我试过了:

<div nav-switcher template-url="baseCtrl.directiveUrl" ></div>

我收到错误消息:

Error: [$compile:tpload] Failed to load template: "baseCtrl.directiveUrl"

如何将控制器变量传递给指令?

1 个答案:

答案 0 :(得分:0)

我想也许你将HTML改为

<div nav-switcher template-url="{{directiveUrl}}" ></div>

大括号会将表达式计算为文本。

相关问题