我有一个绑定父函数的组件。我知道我必须使用非原始值作为参数,但我仍然未定义。发生了什么事?这是一个演示我问题的示例代码。
组件:
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
}
答案 0 :(得分:3)
由于您的状态属性函数具有hasStatus(statusObj)
,其中statusObj
是对象的参数。这就是为什么你应该传递JSON中提到的状态statusObj
属性,同时将参数传递给hasStatus
方法。
ng-click="$ctrl.hasStatus({statusObj: { val: 700}})"