Javascript 在保留绑定的同时连接集合
我的控制器中有两个数组,第三个数组由前两个数组连接而成Javascript 在保留绑定的同时连接集合,javascript,angularjs,angularjs-ng-repeat,plunker,Javascript,Angularjs,Angularjs Ng Repeat,Plunker,我的控制器中有两个数组,第三个数组由前两个数组连接而成 var app = angular.module('app', []); var MainController = app.controller('MainController', function($scope) { $scope.dogs = ['Beagle', 'Poodle', 'Boxer']; $scope.cats = ['Maine Coon', 'Ragdoll', 'Bengal']; $scope.pe
var app = angular.module('app', []);
var MainController = app.controller('MainController', function($scope) {
$scope.dogs = ['Beagle', 'Poodle', 'Boxer'];
$scope.cats = ['Maine Coon', 'Ragdoll', 'Bengal'];
$scope.pets = $scope.dogs.concat($scope.cats);
$scope.createDog = function() {
$scope.dogs.push('Rottweiler');
};
});
然后,我使用ng repeat
输出所有这些数据
<h3>Dogs ({{dogs.length}})</h3>
<ul>
<li ng-repeat="dog in dogs">{{dog}}</li>
</ul>
<button ng-click="createDog()">Add a dog</button>
<hr>
<h3>Cats ({{cats.length}})</h3>
<ul>
<li ng-repeat="cat in cats">{{cat}}</li>
</ul>
<hr>
<h3>Pets ({{pets.length}})</h3>
<ul>
<li ng-repeat="pet in pets">{{pet}}</li>
</ul>
Dogs({{Dogs.length}})
- {{dog}
加一只狗
猫({{Cats.length}})
- {{cat}
宠物({Pets.length}})
- {{pet}
当我单击按钮并将一只狗添加到$scope.dogs
数组时,宠物列表永远不会更新
如何在保留angular的绑定的同时合并两个对象集合,以便更新pets?您可以通过将$scope.pets定义为函数来解决此问题,使其成为表达式,并在更新其中使用的$scope变量时进行更新:
您可以通过将$scope.pets定义为函数来解决此问题,使其成为一个表达式,并在更新中使用的$scope变量时进行更新:
您可以通过将$scope.pets定义为函数来解决此问题,使其成为一个表达式,并在更新中使用的$scope变量时进行更新:
您可以通过将$scope.pets定义为函数来解决此问题,使其成为一个表达式,并在更新中使用的$scope变量时进行更新: 这项工作: 要更新宠物,请将JS函数更改为
$scope.createDog = function() {
$scope.dogs.push('Rottweiler');
$scope.pets = $scope.dogs.concat($scope.cats);
})
因为你用的是同一个名字罗威纳'。由于创建了重复项,因此不会在屏幕上通过ng repeat进行渲染,因此请使用
对于狗
<li ng-repeat="dog in dogs track by $index">{{dog}}</li>
{{dog}
对于宠物
<li ng-repeat="pet in pets track by $index">{{pet}}</li>
{{pet}
这项工作:
要更新宠物,请将JS函数更改为
$scope.createDog = function() {
$scope.dogs.push('Rottweiler');
$scope.pets = $scope.dogs.concat($scope.cats);
})
因为你用的是同一个名字罗威纳'。由于创建了重复项,因此不会在屏幕上通过ng repeat进行渲染,因此请使用
对于狗
<li ng-repeat="dog in dogs track by $index">{{dog}}</li>
{{dog}
对于宠物
<li ng-repeat="pet in pets track by $index">{{pet}}</li>
{{pet}
这项工作:
要更新宠物,请将JS函数更改为
$scope.createDog = function() {
$scope.dogs.push('Rottweiler');
$scope.pets = $scope.dogs.concat($scope.cats);
})
因为你用的是同一个名字罗威纳'。由于创建了重复项,因此不会在屏幕上通过ng repeat进行渲染,因此请使用
对于狗
<li ng-repeat="dog in dogs track by $index">{{dog}}</li>
{{dog}
对于宠物
<li ng-repeat="pet in pets track by $index">{{pet}}</li>
{{pet}
这项工作:
要更新宠物,请将JS函数更改为
$scope.createDog = function() {
$scope.dogs.push('Rottweiler');
$scope.pets = $scope.dogs.concat($scope.cats);
})
因为你用的是同一个名字罗威纳'。由于创建了重复项,因此不会在屏幕上通过ng repeat进行渲染,因此请使用
对于狗
<li ng-repeat="dog in dogs track by $index">{{dog}}</li>
{{dog}
对于宠物
<li ng-repeat="pet in pets track by $index">{{pet}}</li>
{{pet}
一种方法是使用$watch
。一种方法是使用$watch
。一种方法是使用$watch
。一种方法是使用$watch
。