2016-08-15 70 views
2

我使用MD-选择:NG-模式不更新所选值

<label>Type</label> 
<md-select ng-model="selected_data_type"> 
    <md-option ng-repeat="data_type in data_types" value="{{data_type.name}}">{{data_type.name}}</md-option> 
</md-select> 

即预装数据使用:

for (let type of getData()) 
    $scope.data_types.push({ name: type }); 

并且还设置数据公布后的默认值已加载:

$scope.selected_data_type = data.type 

所以现在我有一个MD-选择一些项目,所选项目作为默认,但是当将所选项目更改为默认并按下事件按钮时,触发console.log($scope.selected_data_type);会给出默认选定值。这是为什么?

+0

Any Fiddle available? –

+0

@AdnanUmer https://codepen.io/President_Camacho/pen/RRvvNN –

回答

3

您提供的信息有点混淆。在你的问题你有(1)

value="{{data_type.name}}" 

这是正确的。在你的CodePen例子中,你有

ng-value="{{data_type.name}}" 

这是不正确的。它应该是(2)

ng-value="data_type.name" 

您的CodePen与(1)和(2)一起工作,如您在控制台中看到的。

CodePen

+0

你是对的。谢谢。 –

0

而不是value使用ng-value。从official documentation

<md-input-container> 
    <md-select ng-model="someModel" placeholder="Select a state"> 
    <md-option ng-value="opt" ng-repeat="opt in neighborhoods2">{{ opt }}</md-option> 
    </md-select> 
</md-input-container> 
+0

使用ng-value不会改变任何东西,除非我现在没有默认设置值。 –