2
我正在嘗試製作一個角度指令,該指令基於放置在指令上的屬性呈現動態內容url。例如:將呈現的字符串傳遞到Angular指令
指令:
angular
.module('myModule')
.directive('myContent', directive);
function directive() {
return {
replace: true,
templateUrl: function (elem, attrs) {
return attrs.contentUrl;
}
};
}
HTML:
<div my-content content-url="url/to/my-content.html"></div>
但是我想對於content-url
屬性由控制器的字符串進行填充。所以我們可以說該控制器使用名爲「家」中的「controllerAs」語法,我想的HTML閱讀:
<div my-content content-url="{{home.myContent.url}}"></div>
但是內指令的templateUrl功能,contentUrl
屬性被逐字發送爲「 {{home.myContent.url}}」。如何在運行templateUrl函數之前獲取此值以進行評估?或者,有沒有更好的方法可以從指令中獲得簡單的動態內容?
應儘可能通過adding'scope:{conentUrl: '='}'你的指示功能,並在HTML中使用它時省略大括號。然後你需要$在指令中觀察$ scope.contentUrl的值。另外,你也應該能夠在指令的鏈接函數中使用$ attr。$ observe,儘管我沒有太多的經驗。谷歌是你的朋友:-) – cYrixmorten
聽起來像你試圖重新創建ng-include本身已經做的角色。除非你爲了學習的目的而重新創建它,否則我只是使用ng-include。否則,查看源代碼以查看它們是如何執行的可能不是一個壞主意。 –