角度组件父函数未定义的参数

时间:2017-04-18 08:08:32

标签: angularjs angular-components

我有一个绑定父函数的组件。我知道我必须使用非原始值作为参数,但我仍然未定义。发生了什么事?这是一个演示我问题的示例代码。

组件:

app.component('testComponent', {
  template:'<button ng-click="$ctrl.hasStatus({val:700})">Test</button>',
  bindings:{
    hasStatus:'&'
  },
  controller:function() {
    var ctrl = this;
  }
})

父:

<test-component has-status='hasStatus(statusObj)'></test-component>

并在控制器中:

$scope.hasStatus = function(obj) {
   console.log(obj) // undefined
}

plunker

1 个答案:

答案 0 :(得分:3)

由于您的状态属性函数具有hasStatus(statusObj),其中statusObj是对象的参数。这就是为什么你应该传递JSON中提到的状态statusObj属性,同时将参数传递给hasStatus方法。

ng-click="$ctrl.hasStatus({statusObj: { val: 700}})"

Demo Plunker