Knockoutjs id引用对象



我觉得问题很简单。

我得到了一个Kendo Multiselect,它被绑定到一个对象数组(contentlang)。

从后端我得到一个int数组(AvailableLanguages)。

现在我的问题是如何正确地绑定值。

我需要计算机之类的东西吗?

提前感谢!

<select data-bind="kendoMultiSelect: {
    data: contentLangs ,
    dataTextField: 'Name',
    dataValueField: 'ID',
    value: AvailableLanguages,
    index: 0,
    height: '500'
}"></select>
AvailableLanguages: [0,1]
var contentLangs = [
    { Name: "Deutsch", ID: "DE", Cls: "language-flag flag-de" },
    { Name: "Englisch", ID: "EN", Cls: "language-flag flag-en" },
    { Name: "Italienisch", ID: "IT", Cls: "language-flag flag-it" }
]

所以你需要像这样创建你的视图模型:

var viewModel = {
  availableLanguages: ko.observable([0,1]),
  contentLangs: [
    { Name: "Deutsch", ID: "DE", Cls: "language-flag flag-de" },
    { Name: "Englisch", ID: "EN", Cls: "language-flag flag-en" },
    { Name: "Italienisch", ID: "IT", Cls: "language-flag flag-it" }
  ]
};

contentLangs不需要是observableArray,除非它发生了变化。availableLanguages需要是一个可观察对象,因为我们需要在选择改变时更新viewModel。

然后你可以使用:

将viewModel绑定到视图
ko.applyBindings(viewModel);

视图是:

<select data-bind="kendoMultiSelect: {
    data: contentLangs,
    dataTextField: 'Name',
    dataValueField: 'ID',
    value: availableLanguages,
    index: 0,
    height: '500'
}"></select>

相关内容

  • 没有找到相关文章

最新更新