我正在使用 ElementUi NavMenu,并使用渲染函数和createElement方法来制作菜单项,只需使用带有菜单标题和索引的 JSON,只是 HTML 和 JS 文件,而不是 .vue 文件。
菜单已安装,单击时会显示子菜单,但子菜单 (el-menu-item) 的操作不起作用。我什至尝试属性 click, item-click, v-on: click when created the-menu-item (ElementUi 的文档告诉@click必须使用,但这会导致createElement定义属性时出错),但没有人工作,没有错误发生,就好像该方法没有被声明。
只有onclick属性对el-menu-item有效,但是当我使用它时,没有调用vue组件的方法,所以我必须在组件之外(例如在一个类上)创建一个函数,并且当这个函数是调用它执行对组件方法的调用(我尝试$发出)并发生错误,因为找不到组件的方法。
如何@click在组件的渲染函数内的 el-menu-item 上添加(或类似)事件以调用同一组件的方法?
我如何创建菜单项:
createElement("el-menu-item",{
attrs:{
index:json[i].id,
click:json[i].onclick
}},
json[i].title
)
Run Code Online (Sandbox Code Playgroud)
实际上,Vue.js 文档中提到了这一点。
请参阅https://vuejs.org/v2/guide/render-function.html#The-Data-Object-In-Depth。
例如https://codepen.io/jacobgoh101/pen/ypjGqw?editors=0010
Vue.component("test", {
render: function(createElement) {
return createElement(
"button",
{
on: {
click: function() {
alert('click');
}
}
},
"Header"
);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6776 次 |
| 最近记录: |