1
Vue.jsをDjangoプロジェクト(複数ページアプリケーション)に統合しようとしています。Vue.js - コンポーネントメソッドで小道具が定義されていません
開始するログアウトのルートにPOSTする単純なログアウトコンポーネントを作成しようとしています。ルートのエンドポイントは、Djangoのurl
テンプレートタグに由来します。
エンドポイントプロップはコンポーネントメソッド内でundefined
です。コンポーネントテンプレート内で使用できますが。私は間違って何をしていますか?
ジャンゴテンプレート
<div id="logout">
<logout endpoint="{% url 'account_logout' %}"
csrf_token="{{ csrf_token }}"></logout>
</div>
{% render_bundle 'logout' %}
logout.js
import Vue from 'vue'
import Logout from './Logout.vue'
new Vue({
el: '#logout',
components: {
Logout
}
});
Logout.vue
<template>
<div>
<span class="logout-link"
@click="performLogout">
Logout
</span>
</div>
</template>
<script>
export default {
name: 'logout',
props: [
'csrf_token',
'endpoint'
],
data() {
return {
}
},
methods: {
performLogout: event => {
console.log(`Endpoint: ${this.endpoint}`); // <-- undefined
// this.$http.post(this.endpoint);
}
}
}
</script>
<style>
.logout-link {
padding: 3px 20px;
cursor: pointer;
}
</style>
ありがとうございました!ドキュメントの中に矢印関数を使用してメソッドを定義するという警告が表示されます。 https://vuejs.org/v2/api/#methods – pymarco
こんにちはヴァンシ、私の新しい質問のアドバイスはありますか?ありがとうございました。 https://stackoverflow.com/questions/44829369/webpack-cannot-import-vue-from-instance-saved-in-another-directory – pymarco