我有一個在控制器中定義的數組,並使用雙向綁定將它傳遞給指令。在指令中,我試圖將對象推入該數組,但失敗了。Angularjs 2向數據綁定從指令到控制器陣列的推對象
.controller("test", function($scope){
$scope.myarr =[];
$scope.$watch("myarr", function(newValue, oldValue){
console.log($scope.myarr); //prints empty arr
},true);
});
.directive('ptest', ['$compile', function($compile) {
var object = {value: 'changed value'};
return {
restrict:"E"
scope: {
myarr:"="
},
template : "<div>{{iobj.value}}<div>",
link: function(scope,elem,attr){
myarr.push(object) ;
}
};
}]);
html
<ptest myarr="myarr"></ptest>
Plunker附:https://plnkr.co/edit/IhPxOnH3bBUBKojKMs98?p=preview注意:不要忘了後面的逗號'限制:「E」' –