kendo ui mvvm:动态更新multiselect数据源内部视图模型';s变化事件

kendo ui mvvm:动态更新multiselect数据源内部视图模型';s变化事件,mvvm,kendo-ui,Mvvm,Kendo Ui,我有一个带有两个多选小部件的视图,它们的值(region_edu_admin,edu_admin)和数据源(region_edu_admins,edu_admins)绑定(通过数据绑定)到ViewModel。在region_edu_admin的更改事件(regionEduAdminChanged)中,我试图使用set方法重新加载edu_admin的小部件数据源,即edu_admins_ds。虽然我进入了newEduAdminsDS(),但数据源不会被重新加载。任何关于我在这里错过的东西的想法都将

我有一个带有两个多选小部件的视图,它们的值(region_edu_admin,edu_admin)和数据源(region_edu_admins,edu_admins)绑定(通过数据绑定)到ViewModel。在region_edu_admin的更改事件(regionEduAdminChanged)中,我试图使用set方法重新加载edu_admin的小部件数据源,即edu_admins_ds。虽然我进入了newEduAdminsDS(),但数据源不会被重新加载。任何关于我在这里错过的东西的想法都将不胜感激!您可以看到下面的代码:

/*视图模型*/

var LabsSearchVM = kendo.observable({
  region_edu_admins_ds: newRegionEduAdminsDS(),
  edu_admins_ds: newEduAdminsDS(), 
  region_edu_admin: "",
  edu_admin: "",    
  regionEduAdminChanged: function(e) {
    this.set("edu_admins_ds", newEduAdminsDS());
  }
});
/*看法*/

<label for="region_edu_admin">Περιφερειακή Διεύθυνση Εκπαίδευσης</label>
<select id="sl_region_edu_admin" 
        name="region_edu_admin"
        data-role="multiselect"
        data-auto-bind="false"
        data-value-primitive="true"
        data-text-field="name"
        data-value-field="name"
        data-bind="source: region_edu_admins_ds, value: region_edu_admin, events: {change : regionEduAdminChanged }"
        data-filter="contains"
        multiple="multiple">                    
</select>
<label for="edu_admin">Διεύθυνση Εκπαίδευσης</label>
<select id="sl_edu_admin" 
        name="edu_admin"
        data-role="multiselect"
        data-auto-bind="false"
        data-text-field="name"
        data-value-field="name"
        data-bind="source: edu_admins_ds, value: edu_admin"
        data-filter="contains"
        multiple="multiple">
</select>

您不需要重新创建数据源。您所需要做的就是让它再次
read()
重新加载数据。将observable中的
regionEduAdminChanged
函数更改为:

regionEduAdminChanged: function(e) {
  this.edu_admins_ds.read();
}
regionEduAdminChanged: function(e) {
  this.edu_admins_ds.read();
}