在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 怎么訪問vue 組件內(nèi)部的this

怎么訪問vue 組件內(nèi)部的this

有個A.vue組件 引用了外部的js
inmport JS from '自己寫的外部js,放公用函數(shù)'
請問怎么在這個JS中訪問到A.vue 的this
(已解決)
謝謝各位的思路
我在外面
var _this = this
把_this傳進去就可以了

在外部js文件打印這個_this
控制臺可以看到

{default: {…}, __esModule: true}
default
:
beforeCreate
:
[?]
beforeDestroy
:
[?]
components
:
{XButton: {…}, Box: {…}, GroupTitle: {…}, Group: {…}, Flexbox: {…}, …}
computed
:
{toAddr: {…}}
data
:
? data()
methods
:
{showMap: ?, getSelectArr: ?}
mounted
:
? mounted()
render
:
? ()
staticRenderFns
:
(2) [?, ?]
watch
:
{fromChildSelectObj: ?}
_Ctor
:
{0: ?}
__file
:
"E:XXXX"
_scopeId
:
"data-v-68415ad1"
__proto__
:
Object
__esModule
:
true
__proto__
:
Object
回答
編輯回答
陌如玉

A.vue 初始化的時候,調(diào)用下 外部js的某個方法(需要自己寫),把this傳遞過去就好了

2018年8月3日 02:57
編輯回答
愛是癌

common.js

 test(self){
        if(self.alert){
            self.alert('component function alert');
        }
    }

XXX.vue

 created() {
            common.test(this);
        },
  methods:{      
         alert(value) {
                alert(value);
            }
        }

這不是很簡單嗎?

2017年8月3日 01:49
編輯回答
短嘆

引入的 js 定義的方法,通過傳參的方式
比如:
export function dosomething(vueCase) {
console.log(vueCase)
}

import 進來后

dosomething(this)

2017年3月18日 05:15
編輯回答
別硬撐

既然是定義在外部的方法,那么相對來說復(fù)用性也該是有的吧,建議使用call,apply在使用時動態(tài)改變該函數(shù)的作用域。

2017年10月17日 21:33
編輯回答
別傷我

調(diào)用JS里方法的時候,JS.XXX.call(this)

2018年2月16日 07:15
編輯回答
有點壞

調(diào)用方法時候傳參唄(this)=>{}

2017年10月18日 23:25
編輯回答
只愛你

邀請了我,但我看不太明白你的問題 ,
要不你把this 當(dāng)函數(shù)參數(shù)傳進去?

2017年1月30日 07:10
編輯回答
無標題
const obj = {
  data() {},
  methods: {},
  ...
}
export default obj;

this就算obj

2017年8月28日 14:02