我正在尝试将单选按钮组绑定到对象的给定属性。使用这样的代码
<span><input type="radio" value="{{webTES.TripLegType.TimeCall}}" ng-model="tab.Type"/>Time Call</span>
<br/>
<span><input type="radio" value="{{webTES.TripLegType.Immediate}}" ng-model="tab.Type"/>Immediate</span>
<br/>
<span><input type="radio" value="{{webTES.TripLegType.WillCall}}" ng-model="tab.Type"/>Will Call</span>
绑定到prorpety工作,但我还需要从跨应用程序使用的全局对象设置这些单选按钮的值。对象定义如下
var webTES = {
TripLegType: {
TimeCall: 0,
Immediate: 1,
WillCall: 2
}
};
我尝试使用{{}}
,但它不起作用,我讨厌使用硬编码常量。
我如何很好地解决这个问题?
THX
答案 0 :(得分:2)
尝试将全局放在范围上,并使用ngValue
设置单选按钮值:
控制器
$scope.webTES = webTES;
查看
<span>
<input type="radio" ng-value="webTES.TripLegType.TimeCall" ng-model="tab.Type"/>
Time Call
</span>
<br />
<span>
<input type="radio" ng-value="webTES.TripLegType.Immediate" ng-model="tab.Type"/>
Immediate
</span>
<br />
<span>
<input type="radio" ng-value="webTES.TripLegType.WillCall" ng-model="tab.Type"/>
Will Call
</span>
答案 1 :(得分:1)
如果您不需要从Angular应用外部访问它,可以使用value
angular.module('moduleName')
.value('webTES', {
TripLegType: {
TimeCall: 0,
Immediate: 1,
WillCall: 2
}
});
这样,它就不会挂在窗口对象上了。然后可以将其按名称注入controller
,然后将其放在模板可以找到的$scope
上。如果要在应用程序加载时配置它,请使用constant
。您可以阅读有关值和常量here的内容。