我有一个网格,在添加、删除、删除行时可以正常工作。
现在,当我尝试添加行然后单击取消时,麻烦就来了。之后,我的整个网格元素丢失 .data('kendoGrid') (之后它返回 undefined )。我没有定义任何自定义操作。
有没有人遇到过类似的问题?
我有一个网格,在添加、删除、删除行时可以正常工作。
现在,当我尝试添加行然后单击取消时,麻烦就来了。之后,我的整个网格元素丢失 .data('kendoGrid') (之后它返回 undefined )。我没有定义任何自定义操作。
有没有人遇到过类似的问题?
我终于找到了解决方案...
所以,问题是我一直在使用这样的网格:
<div class='n-grid' kendo-grid="widget" k-options="gridOptions"></div>
但是这种使用需要额外的 div 包装器。当我将其更改为:
<div>
<div class='n-grid' kendo-grid="widget" k-options="gridOptions"></div>
</div>
一切都很好...
我从 angular-kendo.js 的这一部分发现了这一点:
self.bind("dataBinding", function(ev) {
ev.sender.$angular_itemsToCompile().each(function(){
var el = $(this);
if (el.attr(_UID_)) {
var rowScope = angular.element(this).scope();
// avoid destroying the widget's own scope
// no idea why we get it, but we do.... :(
if (rowScope && rowScope !== scope) {
destroyScope(rowScope, el);
}
}
});
在没有包装器的情况下使用时,取消行中的更改,破坏父级的范围。
希望这可以帮助 :)