Handsontable:如何通过容器获取实例?
Handsontable: how to get instance by container?
我需要创建一个函数来执行一些数据更新并重新渲染到 handsontalbe 的渲染实例 (var ht = new Handsontable(el,options)
)。在我的案例中,我可以轻松获得的是 el
(用作实例容器的元素)。只知道el
就可以得到ht
吗?或者我必须 "remember" ht
某个地方稍后才能访问它?
(我试过 Handsontable(el)
并且它创建了一个新的 table,它没有 return 一个已经创建的实例)
您无法从构造它的 DOM 元素中获取 handsontable 对象。 handsontable 实例只是一个包装器,它控制 DOM 元素供查看,该元素没有引用其包装器。
这意味着您确实需要将对 ht
的引用存储在某处,就像存储另一个变量一样。
如果您的问题是范围,请将 table 设为 属性 of window 对象,这样就可以从页面的任何位置访问它。这可以简单地使用:
window.ht = new Handsontable(el,options)
但是,如果可能,请避免创建此类全局变量并将其保持在适当的范围内。
如果你使用jQuery,你应该可以这样做:
// Instead of creating a new Handsontable instance
// with the container element passed as an argument,
// you can simply call .handsontable method on a jQuery DOM object.
var $container = $("#example1");
$container.handsontable({
data: getData(),
rowHeaders: true,
colHeaders: true,
contextMenu: true
});
// This way, you can access Handsontable api methods by passing their names as an argument, e.g.:
var hotInstance = $("#example1").handsontable('getInstance');
这是文档 link:https://docs.handsontable.com/pro/1.13.0/demo-jquery.html
我需要创建一个函数来执行一些数据更新并重新渲染到 handsontalbe 的渲染实例 (var ht = new Handsontable(el,options)
)。在我的案例中,我可以轻松获得的是 el
(用作实例容器的元素)。只知道el
就可以得到ht
吗?或者我必须 "remember" ht
某个地方稍后才能访问它?
(我试过 Handsontable(el)
并且它创建了一个新的 table,它没有 return 一个已经创建的实例)
您无法从构造它的 DOM 元素中获取 handsontable 对象。 handsontable 实例只是一个包装器,它控制 DOM 元素供查看,该元素没有引用其包装器。
这意味着您确实需要将对 ht
的引用存储在某处,就像存储另一个变量一样。
如果您的问题是范围,请将 table 设为 属性 of window 对象,这样就可以从页面的任何位置访问它。这可以简单地使用:
window.ht = new Handsontable(el,options)
但是,如果可能,请避免创建此类全局变量并将其保持在适当的范围内。
如果你使用jQuery,你应该可以这样做:
// Instead of creating a new Handsontable instance
// with the container element passed as an argument,
// you can simply call .handsontable method on a jQuery DOM object.
var $container = $("#example1");
$container.handsontable({
data: getData(),
rowHeaders: true,
colHeaders: true,
contextMenu: true
});
// This way, you can access Handsontable api methods by passing their names as an argument, e.g.:
var hotInstance = $("#example1").handsontable('getInstance');
这是文档 link:https://docs.handsontable.com/pro/1.13.0/demo-jquery.html