私のアプリでvue-authenticate
を使用しようとしましたが、プラグインのメソッドを使用していくつか問題があります。このプラグインは依存関係がvue-resource
なので、最初の手順は両方のパッケージをインストールすることです。 main.js
ファイル内プラグインがVueJSでアクティブにならない
ザ・、私はをインポートし、ローカル認証のための具体的な構成を含む両方のパッケージ、アクティブ:
import Vue from 'vue'
import VueResource from 'vue-resource'
import VueAuthenticate from 'vue-authenticate'
// ...
Vue.use(VueResource)
Vue.use(VueAuthenticate, {
baseUrl: 'http://sgc-server.dev',
tokenType: 'Token'
})
を今、Login
という名前の私のログインコンポーネントで、メソッドを作成するにaLogin
と呼ばれます名前の衝突を回避する:このコンポーネントで
// ...
methods: {
aLogin: (_credenciales) => {
this.$auth.login(_credenciales).then((_carga) => {
// Ejecutamos la lógica que sigue a un login exitoso
console.log(_carga)
})
}
}
// ..
、credenciales
がで定義され、オブジェクトであります2つの特性を有する、username
およびpassword
。メソッドaLogin
は、submit
イベントのフォームで呼び出されます。
<form class="form" @submit.prevent="aLogin(credenciales)">
しかし、これはコンソールにはありません。
Login.vue?8031:64 Uncaught TypeError: Cannot read property 'login' of undefined
at VueComponent.aLogin (eval at <anonymous> (app.js:1987), <anonymous>:18:18)
at Proxy.boundFn (eval at <anonymous> (app.js:735), <anonymous>:125:14)
at submit (eval at <anonymous> (app.js:7875), <anonymous>:21:13)
at HTMLFormElement.invoker (eval at <anonymous> (app.js:735), <anonymous>:1657:18)
それはすでにmain.js
に登録されている場合this.$auth
がundefined
あるのはなぜ?正しく起動するにはどうすればいいですか?
ありがとうございます。
を参照してください
を試してみてください。これはコンポーネントクラス(またはコンストラクタ)です。 – Leo
@leoあなたはこの場合、それが窓ではないと思います。これは囲みスコープまたは未定義です。しかし、クラスやコンストラクタではありません。 – Bert