コンポーネントオブジェクトを返す関数を使用してコンポーネントを作成すると、コンポーネントが初期化されません。この2つの状況を共有しています。誰かが私にそれらの違いを説明できますか?
HTML:
<div ng-app="demoApp">
<navbar></navbar>
</div>
作業コード:フィドル
var NavbarTemplate = `<button ng-click="$ctrl.clickTest()">Click Test</button>`;
var navbar = {
controller: function() {
this.clickTest = clickTest;
function clickTest() {
alert("hello");
}
},
template: NavbarTemplate
};
angular.module('demoApp', []).component('navbar', navbar);
欠陥のある (エラーのない) コード: Fiddle
function getComponent(){
var template = `<button ng-click="$ctrl.clickTest()">Click Test</button>`;
var component = {
controller: function() {
this.clickTest = clickTest;
function clickTest() {
alert("hello");
}
},
template: template
}
return component;
}
angular.module('demoApp', []).component('navbar', getComponent);