美文网首页VUE常用知识点
Vue基础语法及注意事项总结(一)

Vue基础语法及注意事项总结(一)

作者: 蓝Renly | 来源:发表于2018-10-21 22:39 被阅读186次

    vue特点:

    一套渲染UI的强大前段框架;

    核心特征:响应式和组件化;

    其它特征:
    1.渐进式,可以在服务端项目中部分使用vue;
    2.响应式支持,由面向DOM编程,转向面向数据编程;
    3.组件化,可以把页面分成多个组件;
    4.丰富的语法支持,优雅的单文件组件,完善的组件动画支持;成熟的生态,比如vue-cli,vueRouter,vuex等相关配套工具;
    

    其它注意事项详见下面各个语法的详细介绍!!!

    1.入门使用

    1.vue官网引入依赖<script src=""></script>;

    2.创建Vue对象;

    3.在跟标签下进行数据操作;

    注意:

    1.根标签id属性必须与Vue实例的el属性值相对应;如:id="app" 对应 el:"#app";

    2.赋值方法,{{meassage}},与data中的字段数值相对应;

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="./js/vue.js"></script>
    </head>
    <body>
        <div id="app">
            {{msg}}
        </div>
    </body>
    <script type="text/javascript">
        let vm = new Vue({
            el:"#app",
            data:{
                msg:'hello'
            }
        })
    </script>
    </html>
    

    2.vue基础语法

    v-bind:单项传输数据;
    v-model:双向传输数据(比如在input/areatext/select标签中使用,可即时获取输入框中的文本内容);
    v-for:可以绑定数组或对象的数据来渲染一个项目列表;
    v-fi:条件判断,可以绑定事件,控制页面内容的显示状态;通常搭配v-on:click(或简写@click)(点击事件)使用;
    v-once:一次性插值;
    

    3.vue实例

    3.1数据和方法

    实例

    let vm = new Vue({
        el:"#app",
        data:{
            msg:"信息内容"
        }
        methods:{
            method(){
                console.log("定义方法使用")
            }
        }
    })
    

    3.2声明周期钩子

    beforeCreated();
    开始创建实例;
    
    created();
    实例创建出来,vue的实例基本上被初始化;
    
    beforeMount();
    在模板与数据相结合,页面渲染之前执行的函数;
    
    mounted();使用较多
    数据和模板结合完成,会将vue实例挂在到dom树上;
    
    beforeUpdate();
    数据发生改变,还没有渲染之前;
    
    updated();
    数据改变,并渲染完成
    
    beforedDestoryed();
    实例要被回收的时候执行;
    
    destoryed();
    实例回收完成的时候调用;
    

    4.模板语法

    也就是template关键字

    使用注意:

    如果有template,那么vue实例将会渲染template中的html标签,而不是渲染外面的标签!

    5.计算属性

    关键字:computed

    与普通方法比较的特点:页面元素发生变化时,普通方法会重新执行一遍,而计算属性有缓存不会重新计算;只有更改computed中的数值时,才会执行!

    注意:在html中调用取值时,不需要加括号,而普通方法的取值则需要加括号取值;

    6.侦听属性

    关键字watch

    watch:{
        msg(newVal,oldVal){
            consloe.log("处理逻辑")
        }   
    }
    

    7.class动态绑定

    :class(样式的绑定)

    通常思路:

    1.定义数组存放已定义的class的属性名;

    2.通过条件判断来获取对应条件下获取对应的class属性名,已达到满足所需要的样式内容的需求;

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>class动态绑定</title>
    
        <script src="./js/vue.js"></script>
        <style>
            .c1{
                font-size: 100px;
            }
            .c2{
                background-color: aqua;
                margin-top: 60px;
                font-size: xx-large;
            }
        </style>
    </head>
    <body>
    
        <div id="app">
           <!--<div class="c1">第一行内容:{{msg1}}</div>-->
          <!--<div :class="{'c1':isActive}">第一行内容:{{msg1}}</div>-->
            <div :class="[isActive?'c1':'c2']">第一行内容:{{msg1}}</div>/*三元运算符使用!!!*/
            <div class="c2">第二行内容:{{msg2}}</div>
            <button>按钮</button>
        </div>
    
    </body>
    <script>
        let vm = new Vue({
            el: '#app',
            data:{
                msg1:'齐德龙',
                msg2:'咚咚锵',
                arr:['c1','c2'],
                isActive:true
            }
        })
    </script>
    </html>
    

    8.条件渲染

    v-if和v-show,v-if v-else-if v-else,的使用;

    注意:v-if显示的数据内容,如果隐藏就从DOM树中移除,而v-show则还会存在于DOM树中(只是添加了style="display none"属性),因此,为了避免程序中频繁的创建移除现象出现,尽量使用v-show为好!

    9.列表渲染

    v-for="item,index in arr";{{item}} {{index}}

    将data中定义的arr数组内容,取出渲染到页面中对应标签中;

    添加方法:arr.push(item);

    删除方法:arr.splice(index,1);index:要删除的数据的下标,1:要删除的数量;

    注意:数组的删除不要使用index(角标)操作,使用提供的push,splice方法即可!

    10.对象渲染

    v-for="value,key in person";{{value}} {{key}}

    注意:如果想要在对象的渲染列表中添加一个属性是不会刷新的!!!

    需要使用set方法,如下:

    Vue.set(this.person,'tele',this.input)

    相关文章

      网友评论

        本文标题:Vue基础语法及注意事项总结(一)

        本文链接:https://www.haomeiwen.com/subject/euwizftx.html