0

我正在尝试在 ang-repeat中使用字符串连接ui-select2

    <select ui-select2 ng-model="selected2" style="width:300px;">
        <option ng-repeat="item in data[it + 'ems']" selected 
                value="{{item}}">{{item}}</option>
    </select>

(这是一个简单的例子,但字符串连接对于代码重用来说是必要的。)

它在正常情况下工作得很好select。但是,uiSelect2会产生错误:

Error: Syntax Error: Token ']' is an unexpected token at column 6 of the expression ['ems']] starting at []].
    at Error (<anonymous>)
    at throwError (http://code.angularjs.org/angular-1.0.1.js:5830:11)
    at parser (http://code.angularjs.org/angular-1.0.1.js:5824:5)
    at http://code.angularjs.org/angular-1.0.1.js:6387:29
    at compileToFn (http://code.angularjs.org/angular-1.0.1.js:8040:16)
    at Object.Scope.$watch (http://code.angularjs.org/angular-1.0.1.js:7547:19)
    at http://angular-ui.github.com/angular-ui/build/angular-ui.js:911:19
    at nodeLinkFn (http://code.angularjs.org/angular-1.0.1.js:4223:13)
    at compositeLinkFn (http://code.angularjs.org/angular-1.0.1.js:3838:14)
    at compositeLinkFn (http://code.angularjs.org/angular-1.0.1.js:3841:12) <select ui-select2="" ng-model="selected2" style="width:300px;" class="ng-pristine ng-valid"> 

转载于此小提琴

我在这里做错了吗?

4

1 回答 1

1

我怀疑这是因为 select-ui 有一个孤立的范围,ng-repeat 也是如此,这使您的it变量超出了该 ng-repeat 的范围。

我建议无论如何都使用ng-options进行选择..(这很有效,大概是因为它可以防止我提到的范围问题):

<select ui-select2 ng-model="selected2" style="width:300px;" 
  ng-options="item for item in data[it + 'ems']"></select>
于 2012-12-03T20:59:56.270 回答