Vue2.0——基础指令

本文介绍了Vue2.0的基础指令,包括如何解决页面数据闪烁问题,详细讲解了v-html、v-text、v-pre、v-cloak、v-bind等指令的用法和场景。此外,还探讨了事件绑定,特别是事件中的this、事件修饰符的应用,以及样式绑定的不同方式,为理解和使用Vue2.0提供基础指导。
摘要由CSDN通过智能技术生成

3、页面数据闪烁

​ 界面加载的时候会把节点直接挂载到文档树中,导致{ {msg+“666”}}这个字符串会显示一下,vue对象生成data数据时候 回去刷新界面 把{ {msg+“666”}}字符串替换成结果字符串,所以会出现页面闪烁的bug。

解决方案:(使用v-html,v-text指令操作,或者css中加[v-cloak] {display:none}😉

①添加一个v-cloak,首先添加隐藏样式, 在vue框架运行时,会把项目中的v-cloak属性清空,这样处理只会渲染一次

<style>
    [v-cloak] {
        display: none;
    }
</style>
<div id="app" v-cloak>
        <div>{
  {msg1}}</div>
        <div v-text="msg2"></div>
        <div v-html="msg3"></div>
        <div v-pre>{
  {msg4}}</div>
        <a v-bind:href="link">baidu</a>
    </div>

② 不要用el关联方式,用$mount的方式挂载。

③尽量的使用指令。v-text指令底层:innerText='‘替换内容;v-text指令底层:innerText=’'替换内容,可以识别标签

4、基础指令

  1. 差值表达式,也叫声明式渲染/文本差值:{ {表达式}}
  2. v-html:相当于innerHTMl
  3. v-text:相当于innerText
  4. v-pre:插件表达式就被识别为文本,而不是js表达式
  5. v-cloak:当网速很慢的时候,v-cloak结合css样式,可以解决页面出现{ {xxx}}的问题。
    Vue实例创建完毕并接管容器后,会删除v-cloak属性
  6. v-bind: 绑定属性

笔试题:vue中常用的指令有哪些?用处?(12分)

案例

<link rel="stylesheet" href="http://www.baidu.com">
<div id="app" v-cloak>
    <div>{
  {msg1}}</div>
    <div v-text="msg2"></div>
    <div v-html="msg3"></div>
    <div v-pre>{
  {msg4}}</div>
    <a v-bind:href="link">baidu</a>
</div>

<script>
    var vm = new Vue({
        el: "#app",
        data: {
            msg1: 'hello1',
            msg2: 'hello2',
            msg3: '<h2>hello3</h2>',
            msg4: 'hello4',
            link: 'http://www.baidu.com',
        }
    })

5、属性绑定

所有的原生属性前面加上v-bind: /: 代表:将常量变成了变量,一个存储空间。

图片绑定和链接:

<img v-bind:src="url">  //图片绑定
<a v-bind:href="link">baidu</a> //链接绑定
<a :href="link">baidu</a> //链接绑定(语法糖形式)
    
var vm = new Vue({
    el: "#app",
    data: {
        link: 'http://www.baidu.com',
        url: 'https://img1.baidu.com/it/u=3866532991,3661643257&fm=253&fmt=auto&app=138&f=JPEG?w=448&h=252'
    }
})

语法糖:v-bind: ==> :

v-bind表示:后面的内容是一个变量,而不是常量;

比如:这样的话为文档树中div的类名就变成了box,并不是行内的div1.

 <div v-bind:class="div1"></div>

var vm = new Vue({
    el: "#app",
    data: {
        div1: box,
    }
})

6、方法和事件绑定

v-on: 事件类型 =‘函数名/函数名()’ ==> 语法糖 @事件类型

<button v-on:click="fn">点我</button>
//<button v-on:click="fn()">点我</button>
//语法糖
<button @click="fn">点我</button>

//绑定多个事件
<button v-on:click="fn"  @mouseover='fm()'>点我</button>

//一个元素绑定一个事件执行两个函数,方法中调用其他函数
<button @click="fn3">点我</button>
methods: {
   
    fn: function () {
   
        console.log(111111111);
        this.msg = "22222"
    },
    fn2: () => {
   
        console.log(222222222
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 2.0中,v-model指令可以用于对文本框、文本域和其他表单元素进行双向数据绑定。你可以使用v-model指令将表单元素的值与Vue实例中的数据进行绑定。根据你提供的引用内容,可以看到在Vue中使用v-model绑定文本框、文本域和其他表单元素的示例代码。例如,你可以使用v-model指令将输入框的值与Vue实例中的message属性进行双向绑定。这样,当用户在输入框中输入内容时,message属性的值也会随之变。类似的,你可以将v-model应用于textarea元素,实现文本域的双向绑定。通过这种方式,你不再需要使用jQuery或原生的DOM操作来获取数据。取而代之的是,你可以使用v-model指令将元素和Vue实例中的数据进行绑定,从而实现数据的获取和更新操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [跟着技术胖学Vue2.0—第六课:v-model指令](https://blog.csdn.net/ll282991823/article/details/122395092)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Vue 2.0——v-model 双向绑定](https://blog.csdn.net/qq_38322527/article/details/125514518)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值