因配置的關系,導致 vue的data選項中存在事件。而事件無法獲取 vue 的實例對象;項目是單文件形式的,以下代碼只是例子
new Vue({
el:...,
data:{
a: {
onevent:function(){
//由於a是某個插件的根對象,所以這里無法獲取 vue 的實例對象
}
}
}
})
方法一:
參考export用法文檔:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/export
export default (()=>{
let defaultVue = {
data: {
a:{
b: function(){
// 這里可以使用defaultVue這個對象,不過,這里使用的就是js的對象,只能通過 defaultVue.data.propertyName 來獲取值
}
}
}
};
return defaultVue;
})()
方法二(推薦):
vue Data選項的文檔可以看一下:https://cn.vuejs.org/v2/guide/instance.html#%E6%95%B0%E6%8D%AE%E4%B8%8E%E6%96%B9%E6%B3%95
主要知道 想要vue的響應式驅動的方式的話,就在 data選項里聲明一個 屬性即可,再然后就需要了解一下 vue的聲明周期了
第一步:


這里的 bind 方法,可以去 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function/bind 這里看看,bind方法的意思就是綁定指定的上下文(注意,是bind返回的函數才綁定到你指定的上下文了,不會修改原函數的)
然后就 ok 了,這樣就不需要聲明全局的變量保存 vue實例了,不容易啊,琢磨近一天了
