【发布时间】:2020-09-04 11:40:08
【问题描述】:
我正在尝试创建一个渲染组件,当我点击它时它会做一些事情:
// A normal Vue component using a render function
Vue.component('greeting', {
methods: {
sayHello(){
alert('hello')
}
},
render(createElement){
var self = this
return createElement(
'button',
{
'@click': self.sayHello
},
'if you click here I will say hello')
}
})
new Vue({
el: '#app'
})
当我点击按钮时,我期待一个警报。据我所知,这将呈现类似
<button @click="sayHello" />
方法 sayHello 是在 Vue 实例中定义的。
为什么这不起作用?
【问题讨论】:
-
为什么不直接使用
template创建按钮? -
@Vipulw 我正在处理一些更复杂的事情,需要将事件传递给渲染函数。这应该是一个最小的例子,没有什么用处。
标签: javascript vue.js