Javascript 角度选择和常量:如何选择默认选项?
我有一个select元素,如下所示:Javascript 角度选择和常量:如何选择默认选项?,javascript,angularjs,Javascript,Angularjs,我有一个select元素,如下所示: <select id="fieldName" class="form-control" ng-model="condition.type"> <option value="{{constants.TYPE_SORT_BY_SENDER}}"> {{locale('Sender')}} <
<select id="fieldName"
class="form-control"
ng-model="condition.type">
<option value="{{constants.TYPE_SORT_BY_SENDER}}">
{{locale('Sender')}}
</option>
<option value="{{constants.TYPE_SORT_BY_RECIPIENT}}">
{{locale('Receiver')}}
</option>
<option value="{{constants.TYPE_SORT_BY_DATE}}">
{{locale('Date')}}
</option>
<option value="{{constants.TYPE_SORT_BY_ATTACHMENT}}">
{{locale('Has attachment')}}
</option>
<option value="{{constants.TYPE_SORT_BY_SUBJECT}}">
{{locale('Subject')}}
</option>
</select>
{{locale('Sender')}
{{locale('Receiver')}
{{locale('Date')}
{{locale('Has attachment')}
{{locale('Subject')}
constants
对象是在$stateChangeStart
事件的$rootScope
中定义的,因此当我使用firebug查看此元素时,它看起来是正常的
但问题是,这个选择并没有在页面加载时选择正确的选项:如果我将常量更改为数字,它就可以正常工作
我不想在我的模板中有任何神奇的数字,但我无法让这个选择工作
我应该在这里做什么?您的模型
条件。type
应该是完全相同的常量,所以在controller中:$scope.content.type=常量。type_SORT_BY_RECIPIENT
我从服务器获取条件。type
,正如我所说的,如果我将一个常量更改为它所表示的数字,那么它会工作……常量类型和值必须与您在RootScope中定义的类型和值匹配。我猜问题在于select
在rootScope之前呈现-因此在呈现时选项中没有值如何在rootScope之前呈现select?即使是双向数据绑定也能解决这个问题,所以我认为这是另外一回事,也许如果你能用你的代码创建plunker会有所帮助