亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

定義了一個vue全局方法,但是不能再vuex中進行調用

定義了一個vue全局方法,但是不能再vuex中進行調用

瀟瀟雨雨 2019-03-21 18:15:30
定義了一個vue的全局方法,但是可以在組件中調用,確不能再vuex中調用,提示undefinedVue.prototype.ajax = function (){? ? alert('aaaaaaa');};var store = new Vuex.Store({? ? state: {? ? ? ? user: {},? ? },? ? actions: {? ? ? ? signout: function(context) {? ? ? ? ? ? this.ajax();? ? ? ? ? ? //undefined? ? ? ? }? ? }});
查看完整描述

3 回答

?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

你把函數定義在 Vue 的原型鏈上,只能在 Vue 的實例里才能取到這個方法。

vue組件 是一個Vue 的實例,所以你當然能在這里調用到 ajax 方法。

而,vuex 只是一個 vue插件,在 vuex 里的 this 不是指向 vue實例的,所以肯定是取不到 ajax 方法的。

建議:把 ajax 函數放在一個單獨的模塊里定義,這樣你在項目的不同地方,可以通過 import 的方式引入使用。


查看完整回答
反對 回復 2019-04-02
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

這里的this怎么可能是Vue是實例,而且Vuex也不是這樣用的。。。


查看完整回答
反對 回復 2019-04-02
?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

你的方法定義在 Vue 原型鏈上,在 Vuex 實例中當然用不到呀。

另外這個方法也不需要掛在 Vue 上,直接寫個函數 import 進來用就好了。


查看完整回答
反對 回復 2019-04-02
  • 3 回答
  • 0 關注
  • 942 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號