0

在我的所有模型中,我至少有 2 个用于语言的 Observable 属性(基于它显示)

this.id = data.id;
this.DataNameEn = ko.protectedObservable(cuberryItem.DataNameEn);//this prop ends with En
this.DataNameDe = ko.protectedObservable(cuberryItem.DataNameDe);//this prop ends with De
this.DataValue = ko.protectedObservable(cuberryItem.DataValue);

我需要创建一个自定义绑定,因此当某些全局变量示例为“en”时,将显示DataNameEn,而其他语言则显示DataNameDe,首先我确实尝试使用计算但它不适合为每个 ViewModel 执行此操作。我如何使用绑定将其存档,或者最好使用计算的 observable 离开。

谢谢

4

1 回答 1

0

我会使用计算出的 observable,如果您不想为所有模型执行此操作,那么您可以使用继承,并创建一个名为 Localizable 的类,然后您的所有视图模型都将从该类继承。

这是一篇关于使用 jquery 使用继承的文章http://davidjs.com/2011/07/jquery-extend-inheritance/,但是如果你有良好的 javascript 知识,你最好不要使用 jquery。

于 2013-06-21T20:12:17.930 回答