我在右侧单击树层次结构的任何文件夹时为菜单项“删除”定义了一个功能,以删除树的文件夹。但点击它我得到以下错误消息“存储为空或不是dojo中的对象错误”
有人可以建议我如何更正此错误消息吗?我的功能下面有什么问题吗?
<ul dojoType="dijit.Menu" id="tree_menu" style="display: none;">
<li dojoType="dijit.MenuItem" data-dojo-props="disabled: false,
onClick: function (evt){
store.deleteById(selectedItemId);
resetEditor();
}",>Delete project</li></ul>
树状结构
- Main Project 1
Sub Project 1_1
Sub Project 1_2
* sub Project 1_3
+ Main Project 2 -
Main Project 3
Sub Project 3_1 -
Sub Project 3_2
Sub Project 3_2_1
答案 0 :(得分:0)
似乎onClick函数在MenuItem上下文中运行,这意味着在你的onclick函数中,'this'指的是MenuItem小部件实例。
要在onClick方法中使用store变量,您可以先在窗口小部件中引用它,如下所示:
<ul dojoType="dijit.Menu" id="tree_menu" style="display: none;">
<li dojoType="dijit.MenuItem" data-dojo-props="disabled: false,
_store: store,
onClick: function (evt){
_store.deleteById(selectedItemId);
resetEditor();
}",>Delete project</li></ul>
或者您可以在窗口上下文中引用您的全局存储对象:
<ul dojoType="dijit.Menu" id="tree_menu" style="display: none;">
<li dojoType="dijit.MenuItem" data-dojo-props="disabled: false,
onClick: function (evt){
window.store.deleteById(selectedItemId);
resetEditor();
}",>Delete project</li></ul>