Knockout 本地化下拉选择
Knockout localisation dropdown selection
我需要一些关于在敲除时设置本地化的建议。
我使用 https://github.com/tfsjohan/Knockout-Localization-Binding 进行本地化,但由于它使用的是静态语言环境,我正在尝试使用带绑定的下拉菜单。
<select data-bind="options: choices, value: selectedChoice"></select>
<label for="name" data-bind="restext: 'name'"></label><br />
<label data-bind="restext: 'email'"></label><br />
<label data-bind="restext: 'street'"></label><br />
<label data-bind="restext: 'zip'"></label><br />
<label data-bind="restext: 'city'"></label><br />
这是 jsFiddle http://jsfiddle.net/efkgqwa5/1/
基本上,我希望 select 选项从资源中加载值(en、sv、...将来可能是其他条目),默认选择的是 en。然后当我改成sv时,它会改变其他语言。
好吧,只需将 locale
设为 self.locale
并在您使用语言环境变量
的地方反映绑定处理程序中的变化,这里的小修改就可以解决问题
ViewModel:
var vm = function(){
var self=this;
self.choices= ["en", "sv"];
self.selectedChoice= ko.observable();
self.name= ko.observable();
self.email= ko.observable();
self.locale=ko.observable('en');
self.selectedChoice.subscribe(function(newValue) {
self.locale(newValue); //updates everywhere
});
工作fiddlehere
我需要一些关于在敲除时设置本地化的建议。
我使用 https://github.com/tfsjohan/Knockout-Localization-Binding 进行本地化,但由于它使用的是静态语言环境,我正在尝试使用带绑定的下拉菜单。
<select data-bind="options: choices, value: selectedChoice"></select>
<label for="name" data-bind="restext: 'name'"></label><br />
<label data-bind="restext: 'email'"></label><br />
<label data-bind="restext: 'street'"></label><br />
<label data-bind="restext: 'zip'"></label><br />
<label data-bind="restext: 'city'"></label><br />
这是 jsFiddle http://jsfiddle.net/efkgqwa5/1/ 基本上,我希望 select 选项从资源中加载值(en、sv、...将来可能是其他条目),默认选择的是 en。然后当我改成sv时,它会改变其他语言。
好吧,只需将 locale
设为 self.locale
并在您使用语言环境变量
ViewModel:
var vm = function(){
var self=this;
self.choices= ["en", "sv"];
self.selectedChoice= ko.observable();
self.name= ko.observable();
self.email= ko.observable();
self.locale=ko.observable('en');
self.selectedChoice.subscribe(function(newValue) {
self.locale(newValue); //updates everywhere
});
工作fiddlehere