我正在研究如何为Kendo UI组件(例如网格)添加一层抽象。
我正在探索的一条途径是在自定义Polymer元素中包装kendo组件;请注意,Polymer元素可能包含的元素多于kendo组件。
这是我努力实现这一目标的尝试之一:
<polymer-element name="kendo-test" attributes="data">
<template>
<div id="grid"></div>
</template>
<script>
Polymer({
data: [],
ready: function () {
var element = $("#grid").kendoGrid({
dataSource: this.data,
...
});
}
});
</script>
脚本块运行正常,但网格元素没有渲染(在阴影DOM或其他方面)。元素变量的内容表明Kendo做了它的事情。
我还尝试在模板中嵌入脚本标记,以便Kendo在渲染后执行,但是我无法绑定我的数据属性。
有没有人知道如何成功地将Kendo UI(或任何其他操纵第三方包的DOM)包裹在聚合物元素中?
由于
答案 0 :(得分:0)
感谢这个answer我发现如果你使用Polymer参考而不是元素ID,你可以引用shadow DOM元素:
var element = $(this.$.grid).kendoGrid({