AngularJS select指令不使用选项

AngularJS select指令不使用选项,select,angularjs,Select,Angularjs,这个例子似乎很简单,我只是不明白为什么它不起作用(我不想使用ng选项,因为它不适用于select2,一个我想在弄明白后使用的插件): HTML: <div ng-app="myApp"> <div ng-controller="MyCtrl"> selectedNumber: {{selectedNumber}} <select ng-model="selectedNumber"> <opt

这个例子似乎很简单,我只是不明白为什么它不起作用(我不想使用ng选项,因为它不适用于select2,一个我想在弄明白后使用的插件):

HTML:

<div ng-app="myApp">
    <div ng-controller="MyCtrl">
        selectedNumber: {{selectedNumber}}
        <select ng-model="selectedNumber">
            <option ng-repeat="number in numbers" value="{{number}}">{{number}}</option>
        </select> 
        <div ng-repeat="number in numbers">
            {{number}}
        </div>
    </div>
</div>
var app = angular.module('myApp', []);

app.controller('MyCtrl', function($scope) {
    $scope.numbers = [1, 2];
    $scope.selectedNumber = 2;
});
检查该元件时,其外观如下所示:

<select ng-model="selectedNumber" class="ng-pristine ng-valid">
    <option value="? number:2 ?"></option>
            <!-- ngRepeat: number in numbers -->
    <option ng-repeat="number in numbers" value="1" class="ng-scope ng-binding">1</option>
    <option ng-repeat="number in numbers" value="2" class="ng-scope ng-binding">2</option>
</select>

1.
2.

我猜是额外的“
”导致了这个问题,但我不知道如何摆脱它。我还在实际操作中创建了一个选项。

您看到这一点的原因是您的选择绑定到了一个不包含在其选项中的项目。尽管您正在通过ng repeat添加选项,但我怀疑该指令不起作用,也不是设计为以这种方式工作的:

这里有一个关于为什么会出现额外价值的参考。

我认为你有两个选择: 1.写下你自己的指令 2.使用内置的
ng选项
,并尝试使其与您的插件一起工作

以下是参考资料: 还有一个问题:


这些可能会为您指明解决方案的正确方向。

您指的是什么额外的“”?我忘记放在代码块中的那个:)。我刚修好。