定義了一個vue的全局方法,但是可以在組件中調用,確不能再vuex中調用,提示undefinedVue.prototype.ajax = function (){ alert('aaaaaaa');};var store = new Vuex.Store({ state: { user: {}, }, actions: { signout: function(context) { this.ajax(); //undefined } }});
2 回答

慕村225694
TA貢獻1880條經驗 獲得超4個贊
你的方法定義在 Vue
原型鏈上,在 Vuex
實例中當然用不到呀。
另外這個方法也不需要掛在 Vue
上,直接寫個函數 import
進來用就好了。

繁花不似錦
TA貢獻1851條經驗 獲得超4個贊
你把函數定義在 Vue
的原型鏈上,只能在 Vue
的實例里才能取到這個方法。
vue組件
是一個Vue
的實例,所以你當然能在這里調用到 ajax
方法。
而,vuex
只是一個 vue插件
,在 vuex
里的 this
不是指向 vue實例的
,所以肯定是取不到 ajax
方法的。
建議:把 ajax
函數放在一個單獨的模塊里定義,這樣你在項目的不同地方,可以通過 import
的方式引入使用。
添加回答
舉報
0/150
提交
取消