この単純化された Angular 1.5.x コンポーネントを考えてみましょう (すべてjsfiddleにあります):
appModule.component('mainComponent', {
controller: function() {
var x = 0;
this.broadcast = function() {
this.onUpdate({
count: x++
});
};
this.broadcast();
},
bindings: {
onUpdate: '&'
},
template: '<input type="button" ng-click="$ctrl.broadcast()" value="add"/>'
});
Html (本文中)
<main-component on-update="this.count = count"></main-component>
Value in parent: {{count}}
コンポーネント ボタンをクリックすると、count 変数が更新されます ('&' onUpdate が適切にバインドされます)。
ここで、ui.router からコンポーネントへのルートが必要です。
$stateProvider.state({
name: 'state1',
component: 'mainComponent',
url: "#"
});
状態に移動Cannot read property '2' of null
すると、onUpdate メンバーを削除するとエラーが修正されますが、バインディングが壊れます。
私は何を間違っていますか?コンポーネントへの ui.router ルートを使用するときに、コンポーネントのコールバック メソッドをバインドする方法は何ですか。