template三种写法

1. 完整版,写在html里

  1. <div id=xxx>
  2. {{n}}
  3. <button @click="add">+1</button>
  4. </div>
  1. new Vue({
  2. el: '#xxx',
  3. data: {n:0}, // data可以改成函数
  4. methods:{add(){}}
  5. })

2. 完整版写在options里

  1. <div id=app>
  2. </div>
  1. new Vue({
  2. template:`
  3. <div>
  4. {{n}}
  5. <button @click="add">+1</button>
  6. </div>
  7. `,
  8. data: {n:0},
  9. methods:{add(){this.n += 1}}
  10. }).$mount('#app')
  11. // 挂载到div#app, div的原内容会被替代

3. 非完整版,配合xxx.vue文件

vue文件

  1. <template>
  2. <div>
  3. {{n}}
  4. <button @click="add">+1</button>
  5. </div>
  6. </template>
  7. <script>
  8. export default {
  9. data(){return {n:0}}, // data必须为函数
  10. methods:{add(){this.n += 1}}
  11. }
  12. </script>
  13. <style>这里写CSS代码</style>

在另一个地方引入vue文件,并render

  1. import Xxx from './xxx.vue'
  2. // Xxx是一个options对象
  3. new Vue({
  4. render: h => h(Xxx)
  5. }).$mount('#app')

注意