我在Kendo UI/Angular中有以下颜色选择器小工具。注意,k-on-change
工作良好:
<input kendo-color-picker="theColor" k-on-change="c=theColor.value()" />
现在,我需要的是在一个列表中有几个颜色选择器小工具,就像这样(注意这不起作用):
<ul>
<li style="list-style-type:none" ng-repeat="color in colors">
<input kendo-color-picker="theColor" k-on-change="color.c=theColor.value()" />
</li>
</ul>
上面代码中的问题是,我不能为每个出现的事件分配相同的theColor
处理程序。有什么办法解决这个问题吗?
KendoUI在其文档中指出,ng repeat在初始化后无法正常工作。他们建议使用数据源,我在这里设置了一个工作示例
您可以使用DataSource或ObservableArray。例如:
app.js
var app = angular.module('app', ['kendo.directives']);
app.controller("myCtrl", function($compile, $scope) {
$scope.tree = new kendo.data.ObservableArray([{
text: "Foo",
items: [{
text: "Foo 1"
}, {
text: "Foo 2"
}]
}, {
text: "Bar",
items: [{
text: "Bar 1"
}, {
text: "Bar 2"
}]
}, ]);
});
html
<body ng-app="app" ng-controller="myCtrl">
<h1>AngularJS + kendo</h1>
<div kendo-grid k-data-source="tree" k-columns='[
{ "template":"<input kendo-color-picker="theColor" k-on-change="color.c=theColor.value()" />"}
]'>
</div>
</body>