从模型窗口更新对象后,ng-repeat不显示数据

时间:2016-03-15 14:49:23

标签: angularjs angularjs-scope angularjs-ng-repeat

我尝试使用ng-repeat从模型窗口显示所选数据,但在从模型窗口中选择的项目更新对象后它无法正常工作。

下面是我的代码。 Bootstrap模态

$scope.openModal = function (size) {

        var modalInstance = $uibModal.open({
          animation: $scope.animationsEnabled,
          templateUrl: 'templateModal.html',
          controller: 'ModalInstCompCtrl',
          size: size,
           resolve: {
                items: function () {
                  return $scope.items;
                }
              }
        });

         modalInstance.result.then(function (selectedItems) {
                $scope.form.items = selectedItems;  
            });
     };

父页面Html

<span ng-repeat="item in form.items">{{item.id}}</span>

如果我直接看到对象的值,则显示结果但不显示ng-repeat

{{form.items}}

请指导。

Plunkr:http://plnkr.co/edit/DMFPTtFBDoy5ygDjCGua

3 个答案:

答案 0 :(得分:1)

编辑: 不要在返回中将数组字符串化:)

$uibModalInstance.close(ar);

card-deck

http://plnkr.co/edit/VDFxMUf0RqQGSVHNqM5F?p=preview

答案 1 :(得分:0)

试试这样。

JS

$scope.items = selectedItems;

HTML

<span ng-repeat="item in items">{{item.id}}</span>

答案 2 :(得分:0)

你可以在这个例子中添加一个watch方法:

 $scope.$watch('form.items', function(new, old){
   var selectedItems = new;
   $scope.items = selectedItems;
 }, true);

或者只是在$ scope.items = selectItems;

之后添加这一行
  $scope.$apply();

将代码更改为items属性:

  return $scope.form.items