Ich versuche, meine Direktive laden in einer Vorlage basierend auf seiner Controller-Variable. Die anderen Fragen, die ich hier gesehen habe, beruhen darauf, dass ein String in die Direktive übertragen wird, anstatt ihn vom Controller zu holen.Richtlinie Vorlage von Controller
Richtlinie:
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;
}
}
Controller:
export class LanguageController{
private selectedLanguage: String;
//More stuff
}
Vorlage:
<select-language ng-hide="authenticated" language="{{lc.selectedLanguage}}"></select-language>
Der Fehler, den ich ke ep Sehen ist:
GET http://localhost:3000/%7B%7Blc.selectedLanguage%7D%7D/language.html 404 (Not Found)
Wie kann ich es zwingen, die Sprachparameter als Steuerungsvariable zu bewerten und nicht als Zeichenkette?
Versuchen select-language> ... Sie brauchen nicht die '{{}} 'geschweifte Klammern –
Kann' ng-include' verwenden – charlietfl
Ich denke @charlieftl ist richtig - ng-include ist der Weg zu gehen. Ich habe meine Antwort aktualisiert. –