Knockoutjs id 引用对象
Knockoutjs id reference to object
我觉得很简单的问题。
我有一个 Kendo 绑定到对象数组 (contentLangs) 的多选。
从后端我得到一个整数数组 (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>
我觉得很简单的问题。
我有一个 Kendo 绑定到对象数组 (contentLangs) 的多选。
从后端我得到一个整数数组 (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>