我想讓我的指令在基於它的控制器變量的模板中加載。我在這裏看到的其他問題依賴於傳入指令的字符串,而不是從控制器中獲取。來自控制器的指令模板
指令:
import {LanguageController} from "./language.controller.ts";
export class LanguageSelectDirective {
static NAME: string = "selectLanguage";
static factory(): ng.IDirective {
let directive = {
restrict: "E",
link: function() {},
templateUrl: function(elem, attrs){
return "./" + attrs.language + "/language.html"
},
scope: {
language: "@"
},
controller: LanguageController,
controllerAs: "lc",
bindToController: true
};
return directive;
}
}
控制器:
export class LanguageController{
private selectedLanguage: String;
//More stuff
}
模板:
<select-language ng-hide="authenticated" language="{{lc.selectedLanguage}}"></select-language>
我柯錯誤EP看到的是:
GET http://localhost:3000/%7B%7Blc.selectedLanguage%7D%7D/language.html 404 (Not Found)
我怎樣才能迫使它來評估語言參數作爲控制器變量,而不是作爲一個字符串?
嘗試 <選擇語言NG隱藏= 「認證」 LANGUAGE = 「lc.selectedLanguage」>選擇語言> ......你不需要'{{}} '花括號 –
可以使用'ng-include' – charlietfl
我認爲@charlieftl是正確的 - ng-include是要走的路。我已經更新了我的答案。 –