2015-03-19 91 views
0

我想從控制器發送模板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" 

如何控制變量傳遞給指示?

+0

我不知道我是否理解它。只需在你的控制器上創建一個$ scope.directiveUrl,然後用{{directiveURL}}在HTML上調用它 – nada 2015-03-19 09:09:48

+0

然後它給出一個錯誤'錯誤:[$ compile:tpload]加載模板失敗:{{baseCtrl.directiveUrl}}' – 2015-03-19 09:13:20

+0

你能告訴我們控制器在哪裏聲明'directiveUrl'。 – dcodesmith 2015-03-19 09:29:39

回答

0

我想也許如果你HTML改變你

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

大括號將計算表達式爲文本。

相關問題