https://link.zhihu.com/?target=http%3A//jsbin.com/konegoq/3/edit%3Fhtml%2Cjs%2Coutput
在 Vue 里面,如果你想在页面里弹出一个东西,通常的办法是:
另外一种就是上面代码所示那样
Element UI 的 \$message 就是这样实现的,这种方法尤其适合通知类的场景,代码如下。
var MyComponent = Vue.extend({ props: ['prop1'], template: ` <div> <p>data: {{message}}</p> <p>props: {{prop1}}</p> <p><button @click="$emit('hi')">emit</button></p> </div> `, data() { return { message: 'my component' } } }) var app = new Vue({ el: '#app', mounted(){ var c = this.c = new MyComponent({ propsData: { prop1: 'prop1' } }).$mount() this.$refs.here.appendChild(c.$el) c.$on('hi', ()=>{ console.log('hi from myComponent') }) }, methods:{ remove(){ this.c.$el.remove() this.c.$destroy() this.c = null } } })
如果你还有其他办法,可以留言。
饥人谷一直致力于培养有灵魂的编程者,打造专业有爱的国内前端技术圈子。如造梦师一般帮助近千名不甘寂寞的追梦人把编程梦变为现实,他们以饥人谷为起点,足迹遍布包括facebook、阿里巴巴、百度、网易、京东、今日头条、大众美团、饿了么、ofo在内的国内外大小企业。 了解培训课程:加微信 xiedaimala03,官网:https://jirengu.com
本文作者:饥人谷方应杭老师