今回は、Vue でコンポーネントを記述する方法と、Vue でコンポーネントを記述するときの 注意事項 について説明します。実際のケースを見てみましょう。
vueコンポーネントを書く
以下に書くのは、webpackに基づいて構築されたプロジェクトである、.vueで終わる単一ファイルコンポーネントの書き方です。 webpack を使用して vue プロジェクトを構築する方法がまだわからない場合は、vue-cli に移行できます。 完全な vue コンポーネントには次の 3 つの部分が含まれます:Vue.component('simple-counter', { template: '<p id="inputBox"><input type="text"></p>', data () { // 数据 return { counter: 0 } }, methods: { // 写点方法 }, created () { // 生命钩子 }, computed: { // 计算属性 } })
<template> <p id="inputBox"> <input type="text"> </p> </template> <!-- template就是这个组件的html,也就是下面部分(vue-loader会将template标签下的内容解析出来): --> <p id="inputBox"> <input type="text"> </p> <!-- 对应原生写法的话,就是template内的dom字符串 -->
export default { data () { return { counter: 0 } }, methods: { // 方法 }, created () { // 生命钩子 }, computed: { // 计算属性 } } // 在这里很明显js部分就是对应的原生写法内的非template部分了。 // export default这个是es6的模块写法,不懂的可以先去了解es6的模块化
<style lang="scss" scoped> ...样式 </style>
はじめに
他のコンポーネントでコンポーネント 1 (button.vue)<template>
<p class="button">
<button @click="onClick">{{text}}</button>
</p>
</template>
<script>
export default {
props: ['text'], // 获取父组件的传值
data () {
return {
}
},
methods: {
onClick () {
console.log('点击了子组件')
}
}
}
</script>
<style lang="scss" scoped>
.button {
button {
width: 100px;
}
}
</style>
<template>
<p class="box">
<v-button :text="text"></v-button> <!--使用组件并传值(text)-->
</p>
</template>
<script>
import Button from './button.vue' // 引入子组件
export default {
components: {
'v-button': Button
},
data () {
return {
text: '按键的name'
}
},
methods: {
}
}
</script>
推奨読書:
Webpackのホットリフレッシュとホットロードの使用の詳細な説明コード分割の最適化Vueのパッケージ化手順の詳細な説明以上がvueでコンポーネントを書く方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。