2017-12-01 10 views
0

내가 다음과 같습니다 타이프 라이터와 각도 1.5 응용 프로그램이 정의되지각도 및 타이프 :</p> <p><strong>mymodule.module.ts :</strong></p> <pre><code>angular.module('mymodule', []).component('mycomponent', new MyComponent()); </code></pre> 이 <p><strong>mycomponent.component.ts</strong> 컨트롤러 범위는

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

... 
<div ng-show="vm.authorized"> 
... 
</div> 
... 

문제는 vm 및 vm.authorized가 mytemplate.html에서 인식되지 않습니다. div가 항상 표시됩니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

무엇이 오류입니까? – NiVeR

+0

나는 어떤 오류도 내지 않는다. 그러나 vm.authorized는 존재하지 않는 것 같습니다. 브라우저의 콘솔에서 확인하면 : angle.element ($ 0) .scope() .vm, 나도 정의되지 않습니다. –

+0

'templateUrl' 함수가 작동하고 적절한 값을 반환하는지 확인 했습니까? – georgeawg

답변

1

HTML이 잘못 정의 된 것 같습니다. ng-show:"vm.authorized" 대신 ng-show="vm.authorized"이되어야합니다.

=에 유의하십시오.

+0

오오 그렇습니다. 오타였습니다. 이제는 ng-show = "vm.authorized"이지만 문제가 있습니다. 그것은 심지어 VM이 정의되지 않은 것으로 보인다. –