请教一下各位大神,我刚接触vue+element-ui几天,最近自己写了一个模糊查询的input框,现在需要作为项目公共的部分,可以被需要的html引用。
自己的想法是写一个公共的js,哪个html要就引用就行了,但是会有这样的问题:
1.element-ui的写法是:new Vue({el: '#app',别人的页面有这个el:'#app',假如我js里也写el:'#app',那他引用的话功能会用不了,估计是冲突了。
假如我写el: '#pp'那么功能还是没用,因为别人div id就是app,好苦恼!
挂载到VUE原型上,在全局所有文件均可用,不需要各模块再单独引入 ,比如我在main.js文件里预设了一个全局$emit通信,无论是父子组件还是兄弟组件都能共用的方法 :
import bus from './components/msg/data/bus'
Vue.prototype.bus = bus
当我在其他模块里使用的时候就是:
定义 this.bus.$on("name", (params) => { })
调用 this.bus.$emit('参数','参数2')
就是在哪个模块使用到 就在哪引入即可
以上解答的是怎么共享一个公共文件,至于文件内容,为什么还要el:'#app'重复控制VUE控制的盒子,建议参考ES6语法export default 和 import 来实现吧