绑定'&'路由组件中的方法

时间:2016-11-02 07:06:04

标签: javascript angularjs angular-ui-router angular-components

考虑这个简化的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}}

点击组件按钮时,计数变量正在更新(&#39;&amp;&#39; onUpdate绑定良好)。

现在我想从ui.router获取组件的路径:

$stateProvider.state({
    name: 'state1',
    component: 'mainComponent',
    url: "#"
  });

导航到状态,结果为Cannot read property '2' of null,删除onUpdate成员会修复错误但会破坏绑定。

我做错了什么?当使用ui.router路由到组件时,绑定组件的回调方法的方法是什么。

jsfiddle

1 个答案:

答案 0 :(得分:0)

它看起来像绑定回调使用&#34; resolve&#34;目前不支持,请参阅此处:https://github.com/angular-ui/ui-router/issues/2793