Vue的模板

2020-10-10 19:30发布

插值模板

 

插入文本

使用{{}}插入文本

<div id="app">
  <p>{{ message }}</p>
</div>
 
<script>
    new Vue({
      el: '#app',
      data: {
        message: 'Hello Vue.js!'
      }
    })
</script>

插入原生Html

使用v-html进行绑定原生html

<div id="app">
    <div v-html="message"></div>
</div>
    
<script>
    new Vue({
      el: '#app',
      data: {
        message: '<h1>菜鸟教程</h1>'
      }
    })
</script>

绑定属性

使用v-bind:property绑定属性:

根据class1是不是true进行设置class属性,class1是true则修改其class属性,否则不变

<div id="app">
  <label for="r1">修改颜色</label><input type="checkbox" v-model="class1" id="r1">
  <br><br>
  <div v-bind:class="{'class1': class1}">
    v-bind:class 指令
  </div>
</div>
    
<script>
    new Vue({
        el: '#app',
      data:{
          class1: false
      }
    });
</script>

绑定表达式

<div id="app">
    {{5+5}}<br>
    {{ ok ? 'YES' : 'NO' }}<br>
    {{ message.split('').reverse().join('') }}
    <div v-bind:id="'list-' + id">菜鸟教程</div>
</div>
    
<script>
new Vue({
  el: '#app',
  data: {
    ok: true,
    message: 'RUNOOB',
    id : 1
  }
})
</script>

绑定指令:

v-if

<div id="app">
    <p v-if="seen">现在你看到我了</p>
</div>
    
<script>
new Vue({
  el: '#app',
  data: {
    seen: true
  }
})
</script>

绑定属性:

<div id="app">
    <pre><a v-bind:href="url">菜鸟教程</a></pre>
</div>
    
<script>
    new Vue({
      el: '#app',
      data: {
        url: 'http://www.runoob.com'
      }
    })
</script>

绑定事件

<a v-on:click="doSomething">
 
<form v-on:submit.prevent="onSubmit"></form>

绑定用户输入

通过v-model进行数据的双向绑定

<div id="app">
    <p>{{ message }}</p>
    <input v-model="message">
</div>
    
<script>
    new Vue({
      el: '#app',
      data: {
        message: 'Runoob!'
      }
    })
</script>

绑定过滤器

使用过滤器filters可以实现对数据的预处理

<div id="app">
  {{ message | capitalize }}
</div>
    
<script>
new Vue({
  el: '#app',
  data: {
    message: 'runoob'
  },
  filters: {
    capitalize: function (value) {
      if (!value) return ''
      value = value.toString()
      return value.charAt(0).toUpperCase() + value.slice(1)
    }
  }
})
</script>

缩写形式:

对于v-bind和v-on进行缩写:

<!-- 完整语法 -->
<a v-bind:href="url"></a>
<!-- 缩写 -->
<a :href="url"></a>
 
 
<!-- 完整语法 -->
<a v-on:click="doSomething"></a>
<!-- 缩写 -->
<a @click="doSomething"></a>

作者:dayAndnight2018

链接:https://blog.csdn.net/Day_and_Night_2017/article/details/85247914

来源:CSDN
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。