我的模板中有两个Kendo多选小部件。第一个是这样的:
<select kendo-multi-select=""
k-option-label="'Select Programs...'"
k-data-text-field="'name'"
k-data-value-field="'id'"
k-data-source="programs"
k-ng-model="selectedPrograms"
k-on-change="change(kendoEvent)">
</select>
第二个是这样的:
<div ng-repeat="program in userData.programs">
<select kendo-multi-select=""
k-option-label="'Select Services...'"
k-data-text-field="'name'"
k-data-value-field="'id'"
k-data-source="services"
ng-model="program.selectedServices"
k-on-change="change(kendoEvent)">
</select>
</div>
现在这是我的问题。最初,当我使用该属性在两个多选中设置k-ng-model
时,我在控制器中设置的初始选项将在单击多选时消失。这与描述here的问题相同。但正如那里的解决方案所说,我删除了k-ng-model
并将其替换为ng-model
,而第二个多选项完美无缺。
但是当我删除k-ng-model
并在我的第一个多选中将其替换为ng-model
时,没有预先填充的数据。如果我保持k-ng-model
它显示预先填充的值,但在点击多选时,它们就会消失。
这里发生了什么,我该如何解决?
答案 0 :(得分:1)
ng-model仅提供值,您可以将该值绑定到范围。
例如,如果您使用的是剑道的日期选择器控件,那么它只会为您提供&#34; 7/4/2016&#34;
的日期值。而,
k-ng-model为您提供完整的对象值,您可以将其绑定到您的范围。
例如,如果您使用的是剑道的datepicker控件,那么它将为您提供完整的日期值作为对象,如&#34; 2016-07-12T05:00:00.000Z&#34;
您也可以参考剑道网站上的此链接 @ http://docs.telerik.com/kendo-ui/AngularJS/introduction
答案 1 :(得分:0)
Kendo UI开发人员,我们最近在AngularJS,ng-model,k-ng-model和multiselect组件中做了很多来回。如果您可以在jsbin中隔离问题,这将有所帮助。请确保您使用的是repository中的最新版本。