vue-cli构建正在重写“ this”并导致道具未定义

时间:2019-06-06 15:28:31

标签: vue.js vuejs2 web-component vue-cli vue-cli-3

我有一个vue应用程序,希望将其构建为组件,以便可以在其他应用程序(非vue)中使用它。

我正在使用vue-cli构建: vue-cli-service build --target wc --name my-component 'src/App.vue'

我遇到两个问题:

1。当vue-cli编译代码时,我注意到“ this”正在更改:

在我的原始代码中,搜索方法未使用function,因此不会被覆盖。

    search(id) {
     // this is not overwritten
    console.log(this.myProp)

以下是编译版本中的相同功能: screenshot

请注意,他们使用var _this = this对此进行了缓存,但是,我对this的所有引用都未更改为_this

我疯了还是这不是一个大问题?因此,我必须做一些麻烦的解决方法才能使我的代码正常工作。

绊脚的:\

1 个答案:

答案 0 :(得分:1)

尝试使用箭头功能捕获this

search: (id)=> {
     // this is not overwritten
    console.log(this.myProp)
}