1

anglejs 1.5コンポーネントでcontrollerAs構文を使用しようとしています。ここ 角度1.5のコンポーネントでControllerAsを使用

controllerAsすべてが正常に動作せずplunker https://plnkr.co/edit/mTa1bvoNi1Qew9l1xAFS?p=preview

です。

(function() { 
    angular.module("myApp", []) 
    .component("helloWorld", { 
     template: "Hello {{$ctrl.name}}, I'm {{$ctrl.myName}}!", 
     bindings: { 
     name: '@' 
     }, 
     controller: helloWorldController 
    }) 

    function helloWorldController() { 
    /* jshint validthis: true */ 
    var vm = this; 
    vm.myName = 'Alain' 
    } 
})(); 

しかしcontrollerAsに変化していないと私はもはやバインディングを取得しよう。

(function() { 
    angular.module("myApp", []) 
    .component("helloWorld", { 
     template: "Hello {{vm.name}}, I'm {{vm.myName}}!", 
     bindings: { 
     name: '@' 
     }, 
     controller: ('helloWorldController', helloWorldController) 
    }) 

    function helloWorldController() { 
    /* jshint validthis: true */ 
    var vm = this; 
    vm.myName = 'Alain' 
    } 
})(); 

答えて

1

あなたはこのように、プロパティとしてcontrollerAsを指定する必要があります。詳細については

(function() { 
    angular.module("myApp", []) 
    .component("helloWorld", { 
     template: "Hello {{vm.name}}, I'm {{vm.myName}}!", 
     bindings: { 
     name: '@' 
     }, 
     controller: ('helloWorldController', helloWorldController), 
     controllerAs: 'vm' 
    }) 

    function helloWorldController() { 
    /* jshint validthis: true */ 
    var vm = this; 
    vm.myName = 'Alain' 
    } 
})(); 

https://plnkr.co/edit/ThIvAnLJFhucckcRvQ3N?p=preview

https://alexpeattie.com/blog/setting-the-default-controlleras-to-vm-for-component-angular-1-5

関連する問題