0

この単純化された 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 ルートを使用するときに、コンポーネントのコールバック メソッドをバインドする方法は何ですか。

jsfiddle

4

1 に答える 1

0

「解決」を使用したコールバックのバインドは現在サポートされていないようです。こちらを参照してください: https://github.com/angular-ui/ui-router/issues/2793

于 2016-11-02T17:02:20.797 に答える