2017-03-16 77 views
0

我试图使用md芯片从用户收集自动完成的输入。例如:价格,可用,Y,N。其中每个组件将以筹码呈现。每条用户将有多个输入。当我提交表格时,我需要用户输入的每行筹码。这是我面临的问题。ng-repeat与角材料中的芯片

<div ng-repeat ="rule in rules"> 
<md-chips ng-model="selectedHeaders"> 
<md-chip-template> 
{{$chip}} 
</md-chip-template> 
</md-chips> 
</div> 

上面的代码工作作为我的模型只是selectheader和JS这是 $ scope.selectedHeaders = []; 我应该如何使用它来为rule.selectheader ??。如果我将我的模型更改为rule.selectheader,它将抛出下面的错误

无法设置未定义属性'selectedHeaders'。 任何解决这个问题的指针都会受到很大的影响。如果问题不明确,请询问

回答

0

您是否定义了规则值?

在JS,至少规则的值必须是这样的

var rules = [{ 
    selectedHeaders: ['Apple', 'Orange'] 
}, { 
    selectedHeaders: ['Banana'] 
}]; 
0

你可以像下面

JS代码

var app = angular.module('myApp', []); 

    app.controller('ctrl1', function($scope) { 
    $scope.rules = [{ 
     name: 'rule1', 
     id: 1 
    }, { 
     name: 'rule2', 
     id: 2 
    }]; 
    $scope.data = {}; 

    }); 

HTML

<div ng-app='myApp'> 
    <div ng-controller='ctrl1'> 
     <div ng-repeat="rule in rules"> 
     <md-chips ng-model="data.selectedHeaders"> 
      <md-chip-template> 
      {{$chip}} 
      <!-- for testing-->{{rule}} 
      </md-chip-template> 
     </md-chips> 
     </div> 
    </div> 
    </div> 

这是链接Jsfiddle demo