2017-03-17 118 views
-1

您能帮我吗?我在填充的下拉列表中出现此错误。语法错误,无法识别的表达式:选项[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> 

任何想法?

+1

。你的代码可以工作......但是你可以利用'ng-options'而不是用'ng-repeat'手动执行。Chek this [PLUNKER](https://plnkr.co/edit/0AyBokCC6C84X9wK0zb9?p=preview )... –

+0

严重错误消息是:未捕获错误:语法错误,无法识别的表达式:option [ng-repeat ='p'['Fixo','Celular']'] –

+0

请提供更多的代码... –

回答

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> 

但正如其他人所提到的,选择可以使用NG选项。如果这种情况发生在任何人身上,就像在另一个用例中对我做的那样,那么您可以尝试我的解决方案

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>

0

只是偶然发现了同样的问题。花了我一段时间才弄明白,但“bug”在引号中。 Angular不承认']。所有你所要做的就是切换你的引号,像这样:

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

现在,你不会有任何“],而“]是确定的问题,没有奇怪的变通办法解决

相关问题