为了账号安全,请及时绑定邮箱和手机立即绑定

Vue.js笔记第一章——模板语法

标签:
Vue.js

1插值

使用双大括号的文本插值:

<p> {{message}}</p>

利用v-html指令输出html代码 :

<div v-html="message"></div>

属性应使用v-bind指令 

<label for="r1">修改颜色</label><input type="checkbox" v-model="use' id="r1">
<div v-bind:class="'class1': use">
data:{
    use:true
}

表达式 Vue.js支持了完整的JavaScript语法,函数也可以返回值。

<div id="app">
{{2+2}}
{{ok? 'yes': 'no'}}
{{message.split('').reverse().join('')}}
<div v-bind:id="‘list-’+id"></div>
</div>
new Vue({
el: '#app',
data: {
    ok: true,
    message: 'hello',
    id:1
    }
})

2指令

指令是带有v-前缀的特殊属性。用于在表达式的值改变时,将某些行为应用于DOM上。最常见的就是v-bind和v-on指令。

v-if实例很好地表现了这一点。

<input type="checkbox" v-if="seen"/>

<div v-model="seen">这是一段话</div>

data: {

seen: true

}

参数 在指令后以冒号来指明。

例如,v-bind指令来响应地更新html里的内容,html是参数,告知v-bind指令将该元素的href属性与url的值绑定。

<div v-href: html="url"></div>

data:{

url: 'http://www.runoob.com'

}

另一个例子是v-on指令 用于监听DOM事件。

<div v-on:click="doSomething"></div>

3修饰符

修饰符是以半角句号 . 指明的特殊后缀,用于指出一个指令应该以特殊方式绑定。例如,.prevent 修饰符告诉 v-on 指令对于触发的事件调用 event.preventDefault()

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

4用户输入

数据双向绑定

v-model指令可用于和checkbox,radio,input,select,textarea来创建双向数据绑定。根据绑定的值,自动更新绑定的元素的值。

<div id="app">
  
  <p>{{ message }}</p>
  
  <input v-model="message">
</div>
  
  <script>new Vue({
  el: '#app',
  data: {
    message: 'Runoob!'
  }
})</script>
<div id="app">
    <p>{{ message }}</p>
    <button v-on:click="reverseMessage">反转字符串</button></div>
    <script>new Vue({
  el: '#app',
  data: {
    message: 'Runoob!'
  },
  methods: {
    reverseMessage: function () {
      this.message = this.message.split('').reverse().join('')
    }
  }
})</script>

5过滤器

Vue.js 允许你自定义过滤器,被用作一些常见的文本格式化。由"管道符"指示, 格式如下:

<!-- 在两个大括号中 -->{{ message | capitalize }}
<!-- 在 v-bind 指令中 --><div v-bind:id="rawId | formatId"></div>

过滤器函数接受表达式的值作为第一个参数。

以下实例对输入的字符串第一个字母转为大写,其中capitalize是对message起作用的函数方法

<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>

过滤器可以串联:

{{ message | filterA | filterB }}

过滤器是 JavaScript 函数,因此可以接受参数:

{{ message | filterA('arg1', arg2) }}

这里,message 是第一个参数,字符串 'arg1' 将传给过滤器作为第二个参数, arg2 表达式的值将被求值然后传给过滤器作为第三个参数。

6缩写

Vue.js 为两个最为常用的指令提供了特别的缩写:

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

7条件判断

v-if 

v-else:可以用 v-else 指令给 v-if 添加一个 "else" 块:

<div v-if="Math.random() > 0.5">Sorry </div>
    
<div v-else>Not sorry</div>

v-else-if:用作 v-if 的 else-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>
data: {
    type: 'C'
  }

v-show

我们也可以使用 v-show 指令来根据条件展示元素。


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消