Javascript AngularJS ng repeat不跟踪模型中的深度变化
我在控制器中有一个模型对象,我想用特定的HTML重复它。模型对象由多个动态添加的“键”、“值”对组成,“值”部分是一个数组。但是,每当我尝试将项目动态推送到模型对象中任何键的“值””数组中时,“ng repeat”不会更新。有人能给我一个解决方案吗?如果我以错误的方式实现了它,请同时提出修改建议。但我更希望模型对象保持不变Javascript AngularJS ng repeat不跟踪模型中的深度变化,javascript,angularjs,Javascript,Angularjs,我在控制器中有一个模型对象,我想用特定的HTML重复它。模型对象由多个动态添加的“键”、“值”对组成,“值”部分是一个数组。但是,每当我尝试将项目动态推送到模型对象中任何键的“值””数组中时,“ng repeat”不会更新。有人能给我一个解决方案吗?如果我以错误的方式实现了它,请同时提出修改建议。但我更希望模型对象保持不变 var myCtrl = function($scope) { $scope.myModelObject = {}; $scope.addToModelObjec
var myCtrl = function($scope) {
$scope.myModelObject = {};
$scope.addToModelObject = function(key, value) {
if($scope.myModelObject[key] == undefined) {
$scope.myModelObject[key] = [];
}
$scope.myModelObject[key].push(value);
}
}
myCtrl['$inject'] = ['$scope'];
<li ng-repeat="(key, value) in myModelObject"><!-- my html goes here --></li>
var myCtrl=function($scope){
$scope.myModelObject={};
$scope.addTomodeObject=函数(键,值){
if($scope.myModelObject[key]==未定义){
$scope.myModelObject[key]=[];
}
$scope.myModelObject[key].push(值);
}
}
myCtrl['$inject']=['$scope'];
我使用addTomodeObject()函数动态添加到模型对象。你能发布一个代码示例或一个JSFIDLE吗?我建议你添加一个FIDLE/plunk来澄清你的问题。我怀疑你是将值推到原始数组还是它的克隆。正如您所说,“值”部分是一个数组,您很可能使用了克隆原始数组的
.splice()
方法。请尝试在此处重现您的问题:问题已解决,我键入了$scope.myModelObject=[];而不是$scope.myModelObject={};在我完全忽略的控制器中。抱歉你们的疏忽,谢谢你们的评论。