Knockoutjs-customBinding基于语言的文本

Knockoutjs customBinding text base on language

本文关键字:文本 语言 于语言 Knockoutjs-customBinding      更新时间:2023-09-26

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

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"时,当其他语言为DataNameDe时,就会显示Data_NameEn,首先我确实用computed尝试了它,但它并不能正确地为每个ViewModel执行它。我如何用绑定将其存档,或者最好使用计算可观察的。

THX

我会使用计算的可观察对象,如果你不想对所有模型都这样做,那么你可以使用继承,并创建一个名为Localizable的类,然后你的所有视图模型都会从这个类继承。

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