vue基础(二)

模板语法


  • v-html

将vue实例中的数据通过html格式渲染出来,可以解析一些内在样式

  • v-if

根据真价值判断是否显示

  • v-else-if

充当v-if块,可以连续使用

  • v-else

v-if的补充

    <div v-if="type === 'A'">
        A
    </div>
    <div v-else-if="type === 'B'">
        B
    </div>
    <div v-else-if="type === 'C'">
        C
    </div>
    <div v-else>
        Not A/B/C
    </div>
  • v-show

功能与v-if类似,如果切换频繁则可以使用show,如果运行时条件很少变动则使用v-if比较好

  • v-bind/:特性

将bind后面的特性绑定至当前标签上

<!--初始版本将特性写死在了标签上-->
<a v-bind:href="url">...</a>
<div v-bind:id="dynamicId"></div>

<!--vue2.6.0之后可以动态绑定特性-->
<!--attribute为vue实例data里面的数据值-->
vue.data.attributeName = href;
<a v-bind:[attributeName]="url"> ... </a>
  • v-on:click/@click

点击该元素触发相应事件

  • v-for

通过循环渲染出数据

new Vue({
  el: '#v-for-object',
  data: {
    object: {
      title: 'vue study',
      author: 'ksk',
      publishedAt: '2019-5-18'
    }
  }
})
<!--在这里,value为具体键值,name为健名,index为索引值-->
<div v-for="(value, name, index) in object" v-bind:key="index">
  {{ index }}. {{ name }}: {{ value }}
</div>
<!--显示为-->
0.title: vue study
1.author: ksk
2.publishedAt: 2019-5-18

当数组或者对象产生更新时,vue渲染出的视图往往不会随之更新,而需要我们去维护更新,在这里有以下几个函数可以对其进行更新维护

  • push()
  • pop()
  • shift()
  • unshift()
  • splice()
  • sort()
  • reverse()

v-model

在类似于表单input,textarea,select元素上创建双向数据绑定

new Vue({
  el: '#v-for-object',
  data: {
    message: "刺激哦,小老弟!",
    checkdNames: [],
    picked: '',
    selected: ''/[]
  }
})
<!--输入框-->
<input v-model="message" placeholder="edit me">
<p>Message is: {{ message }}</p>

<!--单个复选框-->
<input type="checkbox" id="checkbox" v-model="checked">
<label for="checkbox">{{ checked }}</label>

<!--多个复选框,绑定到同一数组-->
<div id='example-3'>
  <input type="checkbox" id="jack" value="Jack" v-model="checkedNames">
  <label for="jack">Jack</label>
  <input type="checkbox" id="john" value="John" v-model="checkedNames">
  <label for="john">John</label>
  <input type="checkbox" id="mike" value="Mike" v-model="checkedNames">
  <label for="mike">Mike</label>
  <br>
  <span>Checked names: {{ checkedNames }}</span>
</div>

<!--单选按钮-->
<div id="example-4">
  <input type="radio" id="one" value="One" v-model="picked">
  <label for="one">One</label>
  <br>
  <input type="radio" id="two" value="Two" v-model="picked">
  <label for="two">Two</label>
  <br>
  <span>Picked: {{ picked }}</span>
</div>

<!--选择按钮-->
<div id="example-5">
  <select v-model="selected">
    <option disabled value="">请选择</option>
    <option>A</option>
    <option>B</option>
    <option>C</option>
  </select>
  <span>Selected: {{ selected }}</span>
</div>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容