Ошибка Vue.js при попытке импортировать библиотеку - PullRequest
0 голосов
/ 09 октября 2019

Я смущен, потому что я не знаю, почему моя библиотека не работает.

Примечание: я новичок в Vue.js

У меня установлен вызов библиотеки«Bluetooth Serial», и я хочу использовать его в компоненте, но после многих попыток он все равно не работает

I В моей точке входа main.js

import BluetoothSerial from "@ionic-native/bluetooth-serial/ngx";
Object.defineProperty(Vue.prototype, '$bluetoothSerial', { value: BluetoothSerial });

В моем компоненте:

<script>
export default {
  name: "WattComponent",
  props: {},
  methods: {
    scan: function() {
      this.checkBluetoothEnabled();
    },

    checkBluetoothEnabled: function() {
      this.$bluetoothSerial.isEnabled().then(
        success => {
          console.log("enabled");
        },
        error => {
          console.log("erro");
        }
      );
    }
  }
};
</script>

И это перенастраивается:

vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in v-on handler: "TypeError: Cannot read property 'isEnabled' of undefined"

found in

---> <WattComponent> at src/components/WattComponent.vue
       <Home> at src/views/Home.vue
         <App> at src/App.vue
           <Root>

1 Ответ

1 голос
/ 10 октября 2019

Попробуйте вместо этого:

В вашем main.js (где создается экземпляр Vue):

import Vue from 'vue';
import BluetoothSerial from "@ionic-native/bluetooth-serial/ngx";

Vue.prototype.$bluetoothserial = BluetoothSerial;

И в ваших файлах .vue:

methods: {
   foo(){
       this.$bluetoothserial.isEnabled().then(() => {
          //some code here
       });
   }
}
...