2017-04-18 95 views
0

我得到了一個綁定父函數的組件。我知道我必須使用非原始值作爲參數,但我仍然未定義。這是怎麼回事 ?以下是一個演示我的問題的示例代碼。Angular Component父函數未定義參數

組件:

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

隨着你有狀態屬性函數的n有hasStatus(statusObj),其中statusObj是對象的參數。這就是爲什麼你應該通過JSON中提到的狀態statusObj屬性,同時將參數傳遞給hasStatus方法。

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

Demo Plunker