【1】vue中的指令与插值表达式

为什么要用指令和插值表达式

前面我们已经说到过,在Vue中不直接对DOM进行操作,而是通过数据的改变来改变页面的显示状态。但是如果在HTML中直接像这样设置页面内容,那么改变数据时将无法用到Vue提供的便捷方法

<p id="hello" >hello world</p>

为了能通过变量来决定显示的内容,用原生JS我们可以这样写

var str="hello world";
document.getEleMentById('hello').innerText=str;

但此时在控制台中改变str的值,页面并不会改变,因为在页面不刷新的情况下,变量改变页面不会重新渲染。

因此,我们需要使用Vue提供的方法,来做到在不刷新页面的情况下重新渲染页面。

Vue实例的数据,要定义在实例中的data内,当某个数据改变时,就会重新渲染页面中用到了该数据的地方。而要达到这个目的,要解决的问题就是:如何使用在Vue实例中定义的数据,这也就用到了标题中的两种方法,指令和插值表达式。

另外,Vue中的指令还有其他便捷的功能,我们在后面一一介绍。

插值表达式

插值表达式,就是用固定的语法,在根实例接管的范围内的标签中使用Vue中定义的数据。

比如我们在Vue实例的data中定义了变量text

var vm=new Vue({
            el:"#box",
            data:{
                text:"呵呵",
                list:[]
            }
        })

那么在标签中就可以使用这个变量

<p>{{text}}</p>

此时,页面中将显示text的值hello world。若我们在控制台中通过vm.text="hello vue"改变text的值,页面中的显示也将改变,达到了不刷新页面重新渲染的目的。

指令的用法

在Vue实例接管的范围内的标签中,或是子实例的模板中,都可以使用指令。为便于区分,Vue中的指令都以 v- 开头,有些常用的指令也有简写形式。以常用的绑定单击事件举例:

<p v-on:click="handleClick"></p>

常用指令

  • v-text=“变量名” 将这个节点的innerText与这个变量绑定 v-html=“变量名”
    将这个节点的innerHTML与这个变量绑定
  • v-on: 在上面例子中用于绑定点击事件,实际上也可以用于绑定其他事件,在冒号后跟事件名,单击事件即click。在父子组件传值中,父组件监听子组件触发的自定义事件时,也是用的 v-on:自定义事件名 的方法。v-on:可以简写为@,即绑定单击事件也可以写成@click
  • v-for="(item,index) in list"用于循环显示数组的所有元素。list是Vue实例的data中定义的iterable类型的变量,item和index分别是每次循环出的元素(值)和索引(键)
  • v-model="变量名"将变量的值和表单元素(input、textare、select)的值进行双向绑定,改变变量表单的显示会变,改变表单的状态值也会变
  • v-bind:接收变量名=“传递变量名” 用来在子组件中接收父组件传递来的值,简写时可以省略v-bind,即写成 :a="b"的形式。
  • v-if=“布尔型变量” 当布尔值为false时,节点将不会显示。通过控制台可以看到,其原理是将该节点注销掉

一点补充:

  • 指令的参数:指令中冒号后面的部分,如绑定事件的指令v-on:事件名中的事件名就是参数
  • 动态参数:将JS语句写在方括号[]内,作为指令的参数。这个语句必须是一个字符串,或是返回一个字符串;语句中不能使用空格或引号
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值