角度控制器中的对象返回引用变量而不是object属性的值。当我直接在其中一个控制器内部调用该属性时,它会正确返回,但是当我在前端执行相同操作时,它会返回引用变量而不是属性值。
编辑批次控制器的功能
this.edit = function(lotId){
lotService.getById(lotId).then(function(response){
console.log(response.data[0]);
console.log(response.data[0].Lot.id);
lotService.broadcastSubLotChange(response.data[0]);
...
});
}
编辑功能控制台日志
请注意,对象中返回的属性值与直接调用时的值不同
批量服务广播功能
this.broadcastSubLotChange = function(subLot){
this.sublot=subLot;
}
表单控制器广播侦听器
$scope.$on('sublotChange', function() {
$scope.lot=lotService.sublot;
if($scope.lot.Lot==null){
$scope.lot={'Lot':{'parentLot':{'Lot':{'id':lotService.lot.Lot.id}}}};
}
console.log(lotService.sublot);
console.log("sublot: "+$scope.lot.Lot.id);
console.log("lot: "+$scope.lot.Lot.parentLot.Lot.id);
});
表单控制器侦听器日志
角度变量的HTML调用