我试图将我们的应用程序从真正的旧版本升级到最新版本(v16)。因为他们已经弃用旧的单元格和标题渲染方式,所以我试图用范围和Angular编译来解决这个问题。
ag-grid文档说明:然后,您需要在init()和destroy()方法中自己管理创建和销毁子范围。 组件中不支持angularCompileRows,angularCompileFilters和angularCompileHeaders。
我尝试创建一个像这样的单元格渲染:
function MyCellRenderer() {
}
MyCellRenderer.prototype.init = function (params) {
$scope.myMessage = 'Hi Scott';
var compiled = $compile('<p ng-bind="myMessage"></p>')($scope);
this.eGui = document.createElement('span');
this.eGui.innerHTML = compiled.html();
};
MyCellRenderer.prototype.getGui = function () {
return this.eGui;
};
然而,这不起作用。有什么想法吗?
我能够让它发挥作用,但我不喜欢我需要绕过$ timeout。我不得不这样做,因为摘要已在进行中:
function MyCellRendererSimple() {
}
MyCellRendererSimple.prototype.init = function (params) {
console.log('init Called');
this.eGui = document.createElement('span');
};
MyCellRendererSimple.prototype.getGui = function () {
var self = this;
$timeout(function() {
var compiled = $compile('<nice-checkbox checkbox-id="checkbox-2" ng-model="checkboxModal1"></nice-checkbox>')($scope);
$scope.$digest();
self.eGui.appendChild(compiled[0]);
});
return self.eGui;
};