【发布时间】:2015-03-19 17:34:10
【问题描述】:
我正在尝试将模板 url 从控制器发送到指令。硬编码模板 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: '='
}
};
但我想在指令中指定模板 url 时使用我的控制器变量。所以我尝试了:
<div nav-switcher template-url="baseCtrl.directiveUrl" ></div>
我收到错误消息:
Error: [$compile:tpload] Failed to load template: "baseCtrl.directiveUrl"
如何将控制器变量传递给指令?
【问题讨论】:
-
我不知道我是否理解它。只需在您的控制器上创建一个 $scope.directiveUrl 并使用 {{directiveURL}} 在 HTML 上调用它
-
然后它给出一个错误
Error: [$compile:tpload] Failed to load template: {{baseCtrl.directiveUrl}} -
你能告诉我们
directiveUrl被声明的控制器吗?
标签: angularjs angularjs-directive angularjs-scope