我不完全確定你的想法,但這裏是我的想法。 我不認爲有一種方法可以使用他們的控制器和模型的概念來分開使用Angular的模板。
因此,您可能必須找到一種方法來將視圖模型與這些模型進行集成。我不知道這是否對你有幫助,但我已經將一個Kendo視圖模型與Angular模板相結合以及將相同視圖模型與Kendo下拉列表結合使用的簡單(可能很笨拙)示例:
HTML
<div ng-controller="MainCtrl">
<clickable items="items"></clickable>
<ul>
<li ng-repeat="item in items.slice(0,items.length)">
{{ item.text }} ({{ item.value }})
</li>
</ul>
</div>
的JavaScript
app = angular.module('app', []);
var items = [
{ text: "test 0", value: 0},
{ text: "test 1", value: 1}
];
var viewModel = kendo.observable({
items: items
});
viewModel.bind("change", function(e) {
console.log("change");
});
app.controller('MainCtrl', function($scope) {
$scope.items = viewModel.get("items");
});
app.directive('clickable', function() {
return {
restrict: "E",
scope: {
items: '='
},
template: "<button>Click to Add</button>",
link: function(scope, element, attrs) {
element.bind('click', function() {
var index = scope.items.length;
var text = "test " + index;
scope.items.push({ text: text, value: index});
scope.$apply();
});
}
};
});
$("#tree").kendoDropDownList({
dataTextField: "text",
dataValueField: "value",
dataSource: viewModel.get("items"),
change: function (e) {
console.log("dropdown value change: " + this.value());
}
});
相應的JSBin:http://jsbin.com/UBuPUwOq/5/edit
Angular-Kendo基本上簡化了一些東西,所以你不必強制創建小部件。相反,您可以通過與角度控制器和模型集成的方式創建它們:
<select kendo-drop-down-list
k-option-label="'Select A Thing'"
k-data-text-field="'name'"
k-data-value-field="'id'"
k-data-source="things"></select>
我對Kendo的模板一無所知。我覺得很奇怪,他們如何證明裸片模板具有*性能!它速度非常快!*當性能似乎不是他們製作的任何小部件和ViewModel的優先級時。通常簡單和易用性首先與劍道。 –