1. 主页
  2. 文档
  3. ES6
  4. es6学习总结

es6学习总结


        // 声明式渲染 {{smsxl1}}
        <!-- 声明式渲染 -->
       <div id="smsxl">声明式渲染:{{smsxl1}}</div>

        var smsxl = new Vue({
            el:"#smsxl",
            data:{
                smsxl1:"声明式渲染"
            }
        });

        // 还可以像这样来绑定元素  v-bind:title
        <!-- 还可以像这样来绑定元素 -->
        <div id="tost">
            <span v-bind:title="ti"> 鼠标悬停几秒钟查看此处动态绑定的提示信息!</span>
        </div>

        var vm = new Vue({
            el:"#tost",
            data:{
               ti:new Date().toLocaleString()
            }
        });

        // 条件与循环 v-if="tr"
        <!-- // 条件与循环 -->
        <div id="root">
            <span v-if="tr">显示了</span>
        </div>

        let ob = new Vue({
            el:"#root",
            data:{
                tr:true
            }
        }); 
        
        
        //  === 条件与循环 可以绑定数组的数据来渲染一个项目  v-for="todo in ti
        <!-- // 条件与循环 可以绑定数组的数据来渲染一个项目 -->
        <div id="root">
            <li  v-for="todo in ti">  
                {{todo.text}}
            </li>
        </div>

        let ob = new Vue({
            el:"#root",
            data:{
                ti:[
                    {text:1111},
                    {text:2222},
                    {text:3333}
                ]
            }
        });

        // 处理用户输入 v-on:click="res"
        <!-- 处理用户输入 -->
        <div id="root">
            {{ms}}
            <button v-on:click="res">反转</button>
        </div>

        // 处理用户输入
        let ob = new Vue({
            el:"#root",
            data:{
                ms:"dsfasdfasd"
            },
            methods: {
                res:function (){
                    this.ms = this.ms.split('').reverse().join('');
                }
            },
        });

        // 组件化应用构建
        <!-- 组件化应用构建 -->
        // 后续组件基础知识后,回头再学习下。

        // ===  Vue 实例
        // 创建一个 Vue 实例
        let vm = new Vue({});
        var vm = new Vue({});


        //  === 数据与方法
        <!-- 数据与方法 -->
        <div id="root">
            {{data}}
        </div>

        let data = {a:1};
        let vm = new Vue({
            el:"#root",
            data:{
                data:data
            }
        });

        data.a = vm.a; //是对的。true;
        data.a = 3;
        data.a = vm.a; //3

        vm.$data = data;
        vm.$el = id选择器
        vm.$watch(a,function (xc,lc){  //监控新老变量
            conslo.log();
        });

        // 实例生命周期钩子 created:function (){}
        let vm=new Vue({
            el:"",
            data:{

            },
            created:function (){
                //生命周期钩子函数
            }
        });

        //  === 插值
        // 文本 {{name}}
        // v-html=""
        // v-once
        // v-bind:id  v-bind:class="pa"  
        // v-on="click"
        <!-- // 插值 -->
        <!-- // 文本 -->
        <div id="root">{{text}}</div>

        <!-- v-once 内容不会改变。 -->
        <div id="root" v-once>
            {{htmla}}
        </div>

        let vm = new Vue({
            el:"#root",
            data:{
                text:"内容"
            }
        });  

        // 原始 HTML
        let vm = new Vue({
            el:"#root",
            data:{
                htmla:"<div>aaaaaaaaaaaaa</div>",
                htmlb:"<div>aaaaaaaaaaaaa</div>"
            }
        });   

        // Attribute  DOM 绑定 class 写css
        <!-- Attribute  DOM 绑定 class 写css -->
        <div id="root" v-bind:class="color">
            {{text1}}
        </div>

        let vm = new Vue({
            el:"#root",
            data:{
                text1:"dasdfdsa",
                text2:"dsafdskljf",
                color:"red"
            }
        });

        <style>
            .red {
                color: red;
            }
        </style>

        // 使用 JavaScript 表达式  Vue.js 都提供了完全的 JavaScript 表达式支持。只能包含单个表达式
        {{ number + 1 }}
        {{ ok ? 'YES' : 'NO' }}
        {{ message.split('').reverse().join('') }}
        <div v-bind:id="'list-' + id"></div>

        //  === 指令
        <p v-if="seen">现在你看到我了</p>

        // 指令 v-if="参数"
        let vm = new Vue({
            el:"#root",
            data:{
                text1:"dasdfdsa",
                text2:"dsafdskljf",
                color:"red",
                seen:true
            }
        });

        // 参数 
        // v-bind:参数或 [JavaScript表达式]
        // v-on:click="参数或方法"
        <div id="root" v-bind:href="url"></div>
        <div id="root" v-on:click="doSomething"></div>

        // 动态参数
        <div id="root" v-bind:[js表达式]=""></div>
        <div id="root" v-on:[eventName]="方法"></div>
        //对动态参数的值的约束
        //动态参数预期会求出一个字符串,异常情况下值为 null。这个特殊的 null 值可以被显性地用于移除绑定。任何其它非字符串类型的值都将会触发一个警告。
        
        对动态参数表达式的约束
        <a v-bind:['foo' + bar]="value"> ... </a>

        // 动态参数
        <div id="root" v-if="yes">4444
            <a v-bind:href="url">11111</a>
            <div @click="click1">   //等同于 v-on:click="click1"
                <!-- <div @click="click2">12222</div> -->
                <div @click.stop="click2">12222</div>
            </div>
        </div>

        // 动态参数
        let vm = new Vue({
            el:"#root",
            data:{
                yes:"no",
                url:"http://www.baidu.com"
            },
            methods: {
                click1:function(){
                    console.log("click1");
                },
                click2:function(){
                    console.log("click2");
                }
            },
        });

        //  === 计算属性和侦听器
        // 计算属性
        let vm=new Vue({
            el:"#root",
            data:{
                data1:"111"
            },
            computed:function (){
                console.log("进行复杂的表达式");
            }
        });

        // === Class 与 Style 绑定
        // 用 v-bind 处理它们:只需要通过表达式计算出字符串结果即可。不过,字符串拼接麻烦且易错。
        // 绑定 HTML Class
        // 对象语法
        // <div id="root" v-bind:class="{name:value}"></div>
    
        // 可以多个class 共存
        // <div
        // class="static"
        // v-bind:class="{ active: isActive, 'text-danger': hasError }">
        // </div>
    
        // data: {
        // isActive: true,
        // hasError: false
        // }
      
        // 对象语法 v-bind:class="['aa','bb']" 
        // 数组语法  v-bind:class="['aa','bb']" 

        // 绑定内联样式  v-bind:style=""

        // === 条件渲染
        v-if="abc"
        v-if-else="abc === 1"
        v-if=""
        v-else-if=""
        v-else=""
        v-show="表达式"

        // === 列表渲染
          <!-- 列表渲染
    用 v-for 把一个数组对应为一组元素 -->
    <div id="root">
        <ul>
            <li v-for="item in arr">
            <!-- <li v-for="(item,index) in arr"> -->
               {{index}} {{item.age}}   
            </li>
        </ul>
    </div>

    <div id="root1">
        <ul>
            <li v-for="(value, name, index) in object1">
                {{ index }}: {{ name }}: {{ value }}
              </li>
        </ul>
    </div>

    <script>

    // 列表渲染
    // 用 v-for 把一个数组对应为一组元素

    let vm = new Vue({
        el:"#root2",
        data:{
            arr:[
                {age:"11111"},
                {age:"22222"}
            ],

            object1:{
                name:"aaaaa",
                name:"bbbbb"
            }
        },

    });

    </script>

     // 维护状态
     <div id="root2"></div>
     <ul>
         <li v-for="(value,name,index) in object1" v-bind:key="object1.id">
             {{ index }}: {{ name }}: {{ value }}
         </li>
     </ul>
 </div>

     //数组更新检测
     vm.items.push({ message: 'Baz' })

    push()
    pop()
    shift()
    unshift()
    splice()
    sort()
    reverse()

        <!-- 数组更新检测 -->
        <div id="root2">
            <ul>
                <li v-for="(item, index) in arr" >
                    {{index}} - {{item.age}}
                </li>
            </ul>
        </div>
    
        <script>
    
        // 列表渲染
        // 用 v-for 把一个数组对应为一组元素
    
        var vm = new Vue({
            el:"#root2",
            data:{
                arr:[
                    {age:"11111"},
                    {age:"22222"}
                ],
    
                object1:{
                    name1:"aaaaa",
                    name2:"bbbbb"
                }
            },
    
        });
        </script>

    //替换数组
这篇文章对您有用吗?

我们要如何帮助您?