2017-12-01 2 views
0

Ich habe ein Winkel 1,5 App mit Typoskript, das wie folgt aussieht:Angular & Typoskript: Controller Rahmen nicht definiert

mymodule.module.ts:

angular.module('mymodule', []).component('mycomponent', new MyComponent()); 

mycomponent.component.ts

export class MyController { 
    public authorized: boolean; 

    constructor() { 
     this.authorized = false; 
    } 

} 

export class MyComponent implements ng.IComponentOptions { 
    controller = MyController; 
    controllerAs = 'vm'; 
    templateUrl = $partial => $partial.getPath('mytemplate.html'); 
} 

mytemplate.html

Das Problem ist, dass vm und vm.authorized in mytemplate.html nicht erkannt wird. Das div wird immer angezeigt. Was mache ich falsch?

+0

Was ist der Fehler, den Sie bekommen? – NiVeR

+0

Ich bekomme keinen Fehler. Aber vm.authorized scheint nicht zu existieren. Wenn ich es in der Konsole des Browsers überprüfe: angle.element ($ 0) .scope(). Vm, bekomme ich auch undefiniert. –

+0

Haben Sie überprüft, dass die Funktion 'templateUrl' funktioniert und gibt den richtigen Wert zurück? – georgeawg

Antwort

1

Ihr HTML scheint falsch definiert. Sollte ng-show="vm.authorized" statt ng-show:"vm.authorized" sein.

Beachten Sie die =.

+0

Oh ja, das war ein Tippfehler. Es ist jetzt ng-show = "vm.authorized", aber das Problem besteht. Es scheint, dass selbst die VM nicht definiert ist. –

Verwandte Themen