前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue的使用

Vue的使用

作者头像
小小咸鱼YwY
发布2019-09-11 14:53:51
7280
发布2019-09-11 14:53:51
举报
文章被收录于专栏:python-爬虫

08.27自我总结

Vue的使用

一.挂载点

代码语言:javascript
复制
<!--导入vue-->
<script src="js/vue.js"></script>

<script>
    new Vue({
        el:'ccs选择器'
    })
</script>

这样设置好了后这个vue中的内容会与对应的css选择器进行关联

注意点:

  • 挂载点只遍历第一个匹配的结果
  • html与body标签不可以作为挂载点
  • 挂载点的只一般就采用id选择器(唯一性)

二.插值表达式

html差值部分页面

代码语言:javascript
复制
<h1>{{msg}}</h1>

Vue部分代码

代码语言:javascript
复制
<script>
    new Vue({
        el:'h1'
        data:{
        msg:'插入的信息'
    }
    })
</script>

注意点:Vue中的msg变量发生变化的再没其他约数条件下msg也会发送变化

里面值进行函数过滤

代码语言:javascript
复制
<h2>{{msg|函数名}}</h2> h2标签内值为msg进过函数处理后的返回值

三.约束变量渲染一次渲染

还是基于上述的html页面

代码语言:javascript
复制
<!--原html页面-->
<h1>{{msg}}</h1>

<!--进行约束设置,设置后一次性渲染,后面msg发送变化后里面内容不会发送改变-->
<h1 v-once="msg">{{msg}}</h1>
<h1 v-once="msg" v-text='msg'></h1>
<h1 v-once="msg" v-html='msg'></h1>

<h1 v-once="msg">{{msg+msg2}}</h1>
<!--一次性渲染,插值表达式中的任何一个变量被限制,整个结果就不可变-->

改变值我们可以通过input框,输入值改变msg变量的值
<input type="text"  v-model="msg">
注意我们不能使用
<input type="text"  :value="msg">
这个只能显示msg,input输入的值不会使得msg的值发送变化

四.文本指令

1.v-text

代码语言:javascript
复制
<h2 v-text="msg"></h2>

h2内的标签中test就是由vue中传的msg变量的值,但是其中html标签不会被解析

里面传的值还能进行四则运算字符串等等的相关操作

2.v-html

代码语言:javascript
复制
<h2 v-html="html"></h2>
<--假设html变量为<a>ss<a>-->

h2标签会显示ss

html标签可被解析

五.属性指令

重点

属性指令:v-bind:属性名="属性值" => v-bind: 可以简写为 :

关于style的不同写法

写法一:
代码语言:javascript
复制
<!--1)变量:变量的值为字典-->
<div :style="my_style" class='test'></div>
<script>
    new Vue({
        el:'.test'
        data:{
        my_style: {
                width: '100px',
                height: '100px',
                'background-color': 'cyan',
                borderRadius: '50%'
            },
    }
    })
</script>
写法二:
代码语言:javascript
复制
<!--2)字典中的多个变量-->
<div :style="{width: w, height: h, background: b}"></div>
<script>
    new Vue({
        el:'.test'
        data:{
            w: '50px',
            h: '50px',
            b: 'red',
    }
    })
</script>

关于class的写法

代码语言:javascript
复制
<!--class属性-->
<!--<div class="box blue"></div>-->
<div :class="c"></div>
<div :class="[c1, c2]"></div>
<div :class="[c1, 'blue']"></div>
<!--x为类名,是否生效有变量y(true|false)值决定-->
<div :class="{x: y}"></div>
<div :class="[{'box': true}, c2]"></div>


<script>
    new Vue({
        el: '#app',
        data: {
            c: 'box blue',
            c1: 'box',
            c2: 'green',
            y: true,
        }
    })
</script>

六.事件指令

事件指令 v-on:事件名="函数" => v-on: 可以简写为 @

七.函数的创建

方法一

代码语言:javascript
复制
<script>
    new Vue({
        el:'h1'
        data:{
        msg:'插入的信息'
    }
       methods: {
            函数名 () {
                函数体
            },
    })
</script>

方法二

代码语言:javascript
复制
<script>
    new Vue({
        el:'h1'
        data:{
        msg:'插入的信息'
    }
       methods: {
            函数名:function () {
                函数体
            },
    })
</script>

方法三

代码语言:javascript
复制
<script>
    new Vue({
        el:'h1'
        data:{
        msg:'插入的信息'
    }
       methods: {
            函数名:() => {
                函数体
            },
    })
</script>

注意点:这种写法,内部拿不到this(这里的this是指window)

八.事件指令传参和不传参的区别

代码语言:javascript
复制
<!--没有传值默认传 函数会接收到事件对象 -->
<div @click="btnClick1">{{ msg }}</div>

<!--方法()不会直接调用方法,而是在点击触发后进行传参,接收到的参数就是传入的参数-->
<div @click="btnClick2(1, msg)">{{ msg }}</div>

<!--一旦书写 方法() 就不再传入事件对象,通过 $event 手动传入事件对象-->
<div @click="btnClick3(msg, $event, $event)">{{ msg }}</div>

九.表单指令

代码语言:javascript
复制
<form action="">
    <!--表单指令:v-model="变量"-->

    <!--双向绑定:一个地方修改值,所有地方的数据都会被更新-->
    <div>
        <input type="text" v-model="info" name="usr">
        <input type="password" v-model="info" name="pwd">
        <p>{{ info | infoFilter }}</p>
    </div>

    <div>
        <!--单选框:v-model="变量存放的是某个单选框的value值,代表该选框选中"-->
        男<input type="radio" name="sex" value="male" v-model="sex_val">
        女<input type="radio" name="sex" value="female" v-model="sex_val">
    </div>


    <div>
        <!--单独的复选框:v-model="true|false代表该选框是否选中"-->
        是否同意<input v-model="cb_val" value="yes" type="checkbox" name="agree">
    </div>

    <div>
        <!--群复选框:v-model="存放选中选框value的数组"-->
        <!--cbs_valrug如果传空数组会一个都不选,如果数组对应里面的value会勾选-->
        <!--cbs_valrug如果传true|false,里面的能容就表示要么全选要么都不选->
        男<input v-model="cbs_val"  value="male" type="checkbox" name="hobby">
        女<input v-model="cbs_val"  value="female" type="checkbox" name="hobby">
        不能说<input v-model="cbs_val"  value="others" type="checkbox" name="hobby">
        <p>{{ cbs_val }}</p>
    </div>

    <div>
        <input type="submit">
    </div>
</form>


<script>
    new Vue({
        el: '#app',
        data: {
            info: '',
            sex_val: 'female',
            cb_val: 0,
            cbs_val: ["others"]  
        }
    })
</script>

十.条件指令

  • v-if:隐藏时不渲染,隐藏时在内存中建立缓存,可以通过key属性设置缓存的键
  • v-show:隐藏时用display:none渲染

使用:

代码语言:javascript
复制
<div class="box red" v-if="ture|flase" key="box_red"></div>  
<div class="box blue" v-show="ture|flase"></div>

接收的值只能是ture|flase,如果是0则是flase,如果是1则是ture
key属性可以对于在内存中名字进行设置,且f12你看不到key这个属性

关于内存的存储

  • localStorage.key名称:key值:永久缓存但是可以手动删除
  • sessionStorage.key名称:key值:临时缓存关闭页面或者关闭浏览器重新打开就会消失

关于内存中的调用

  • localStorage.key名称
  • sessionStorage.key名称
  • v-if|v-elif|v-else:
    • 注意点
      • if如果生效就不往下走同理elif也一样
      • else前面不生效即使他设置了flase他依旧会生效
      • 所有else一般不做任何值设置他都是true
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-08-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 08.27自我总结
  • Vue的使用
    • 一.挂载点
      • 二.插值表达式
        • 里面值进行函数过滤
      • 三.约束变量渲染一次渲染
        • 四.文本指令
          • 1.v-text
          • 2.v-html
        • 五.属性指令
          • 重点
          • 关于style的不同写法
          • 关于class的写法
        • 六.事件指令
          • 七.函数的创建
            • 方法一
            • 方法二
            • 方法三
          • 八.事件指令传参和不传参的区别
            • 九.表单指令
              • 十.条件指令
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档