2017-03-17 123 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> 

現在,你不會有任何「],而「]是確定的問題,沒有奇怪的變通辦法解決

相關問題