语法错误,无法识别的表达式:选项[ng-repeat

时间:2017-03-17 03:03:27

标签: angularjs angularjs-ng-repeat

你可以帮帮我吗?我在填充的下拉列表中收到此错误。

<select ng-init="type = 'Fixo'" ng-model="type" class="form-control input-lg">
     <option ng-repeat="p in ['Fixo','Celular']" ng-value="p" ng-bind="p"></option>
 </select>

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

您提供的代码不会产生错误......

var app = angular.module('app', []);
app.controller('MainCtrl', ['$scope',
  function($scope) {
  }
]);
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.min.js"></script>
<div ng-app="app" ng-controller="MainCtrl">
<select ng-init="type = 'Fixo'" ng-model="type" class="form-control input-lg">
     <option ng-repeat="p in ['Fixo','Celular']" ng-value="p" ng-bind="p"></option>
 </select>
</div>

答案 1 :(得分:0)

我遇到了同样奇怪的错误。它发生在字符串数组中,但对数字数组工作正常,所以这是我的jenky修复:

<select ng-init="type = 'Fixo'" ng-model="type" class="form-control input-lg">
<option ng-repeat="p in [0,1]" ng-init="x=['Fixo','Celular'][p]" ng-value="x" ng-bind="x">
</option> 
</select>

但正如其他人所提到的,对于select,你可以使用ng-options。如果在任何人身上发生这种情况,就像在另一个用例中一样,您可以尝试我的解决方案。

答案 2 :(得分:0)

偶然发现了同样的问题。我花了一段时间来搞清楚,但是&#34; bug&#34;在引号中。 Angular不承认&#39;]。您所要做的就是切换报价,如下所示:

 <option ng-repeat='p in ["Fixo","Celular"]' ng-value="p" ng-bind="p"></option>

现在你没有任何&#39;],而&#34;]没问题。问题解决了没有奇怪的解决方法。