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

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

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

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

精慕HU 2018-09-05 09:19:05
定義了一個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 進來用就好了。


查看完整回答
反對 回復 2018-09-09
?
繁花不似錦

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

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

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

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

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


查看完整回答
反對 回復 2018-09-09
  • 2 回答
  • 0 關注
  • 3550 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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