vue基础

一.vue的实例使用

1,引入vue.js
2,创建视图层
3,启动vm实例

   <div id="app">
     <h1>{{message}}</h1>
    </div>
      <script>
         let vm=new Vue({
             el:'#app'
                data:{
                  message:你好 //渲染的数据,存放数据的变量名为任意
                  }
                   methods:{
                     //定义当前vue中用到的所有的方法
                 }
          })
          </script>

二.vue的常用指令

1.v-cloak
保持和元素实例的关联,直到结束编译后自动消失。
可解决数据渲染闪烁问题

 v-cloak:保持和元素实例的关联,直到结束编译后自动消失。
                    ---只会渲染包含v-cloak的内容
                    ---v-cloak指令和CSS 规则一起用的时候,能够解决差值表达式闪烁的问题
                      (即:可以隐藏未编译的标签直到实例准备完毕
                    ---比如说,{{name}}这个内容,在网速很慢的情况下,一开始会直接显示{{name}}这个内容,
                        等网络加载完成了,才会显示smyhvae-----出现闪烁问题
                    ---使用方法:
                        --- 1、给 span 标签添加 v-cloak 属性 
                            ----  <span v-cloak>{{name}}</span>
                        ---2、在样式表里设置:只要是有 v-cloak 属性的标签,我都让它隐藏。直到 Vue实例化完毕以后,
                            v-cloak 会自动消失,那么对应的css样式就会失去作用,最终将span中的内容呈现给用户
                            ----    [v-cloak] {
                                        display: none;
                                    }

2.v-text
相当于原生js中的innerText,
v-text可以将一个变量的值渲染到指定的元素中
也可取消闪烁的问题

   ---<body>
                            <div id="div1">
                                <span v-text="name"></span>
                            </div>
                        </body>

                        <script>
                            new Vue({
                                el: '#div1',
                                data: {
                                name: 'hello smyhvae'
                                }
                            });
                        </script>

3.v-html
v-text是纯文本,而v-html会被解析成html元素。
相当于innerHTML,可解析html代码

4.v-if
移除元素;-----------适用于该数据不大可能改变
v-if=“true”;-----元素显示
v-false=“false”;-------元素隐藏,直接删除该元素标签

 <div v-if="flag">你好</div>--------元素进行显示
                     <script>
                            new Vue({
                                el: '#div1',
                                data: {
                                    flag:true,
                                }
                            });
                        </script>

5.v-show
显示隐藏元素:-------可适用于频繁的切换
原理:设置display:none;
v-show=“false”;-------元素隐藏
v-show=“true”;--------元素显示

6.v-bind
用于绑定属性----只能单向绑定

 <img v-bind:src="imageSrc +'smyhvaeString'">
                     <img v-bind:style="{width:100+'px'}"">
                     <img v-bind:class="imageSrc">
                     第一种方法:
                    -----v-bind:属性名='值'-----值必须在data中进行定义-----将会在data中找变量
                    -----v-bind:属性名='"值"'---------值将会在style样式中寻找
                    -----
                    -----简写:
                        ---:属性名="值"
                     第二种方法
                    -----v-bind:style="{属性名:属性值(有拼接)}"-----值必须在data中进行定义

7.v-model
可实现双向绑定
运用场景:
----在标签里修改内容,要求data里的name的值自动更新。从而实现双向数据绑定

  ----v-model 只能运用在表单元素中。常见的表单元素包括:
                        input(radio, text, address, email....) 、select、checkbox 、textarea。
                    
                    ----v-model 在内部为不同的输入元素使用不同的属性并抛出不同的事件:
                                text 和 textarea 元素使用 value 属性和 input 事件;
                                checkbox 和 radio 使用 checked 属性和 change 事件;
                                select 字段将 value 作为 prop 并将 change 作为事件。
                    ----eg:
                        <body>
                            <div id="div1">
                                <input value="请输入" v-model="name">
                            </div>
                            -----当input标签中的value值改变时,后台的value值将会改变
                        </body>

                        <script>
                            new Vue({
                                el: '#div1',
                                data: {
                                name: 'hello smyhvae'
                                }
                            });
                        </script>

8.v-on
事件绑定机制
-----v-on:dom事件='调用函数’

  -----简写:
                        ----@事件名="表达式 || 函数"
                        ----事件函数中并没有传递参数,则可省略函数中的"()"
                            <div id="div1" @click="change()">按钮</div>
                    -----<div id="div1" v-on:click="change()">按钮</div>
                          <script>
                            new Vue({
                                el: '#div1',
                                data: {
                                name: 'hello smyhvae'
                                }
                                methods:{
                                    change:function(){
                                        ...
                                        //函数体
                                    }
                                }
                            });
                    ------methods中定义的函数需要获取data中的变量
                            -----可通过----this.变量名(data中的变量)-----获取
                        </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值