Kendo UI/Angular:如何在ng repeat中分配/获取处理程序



我在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>

最新更新