美文网首页
2018-05-22 指令

2018-05-22 指令

作者: warmT_ | 来源:发表于2018-05-22 15:25 被阅读0次

    v-if && v-show && v-else

        <div id="app">
            <div v-if="isLogin">你好:WarmT</div>
            <!-- <div v-show="isLogin">你好:WarmT</div> -->
            <div v-else="isLogin">请登录后在操作</div>
        </div>
        <script type="text/javascript">
            var app=new Vue({
                el:'#app',
                data:{
                    isLogin:false
                }
            })
        </script>
    
    

    v-if和v-show的区别:

    1. v-if 判断是否加载,如果时false就不请求了,可以减轻服务器压力,在需要时加载
    2. v-show 调整css display属性,可以使客户端操作更加流畅。

    v-for 和 v-for 排序

       <div id="app">
        <h2>数组排序</h2>
        <ul>
            <li v-for="item in sortItems">
                {{item}}
            </li>
        </ul>
        <h2>对象排序</h2>
        <ul>
            <li v-for="(student,index) in students">
                {{index + 1}}: {{student.name}}----{{student.age}}
            </li>
        </ul>
    </div>
    <script type="text/javascript">
        var app=new Vue({
            el:'#app',
            data:{
                items:[22,14,23,54,36,28,7],
                students:[
                    {name:'warmT',age:33},
                    {name:'pangpang',age:22},
                    {name:'king',age:14},
                ]
            },
            computed:{
                sortItems:function(){//对象排序
                      return this.items.sort(sortNumber);
                },
                sortstudents:function(){//数组排序
                    return sortByKey(this.students,'age');
                }
            }
        })
        function sortNumber(a,b){//对象排序
                return a-b;
        }
        function sortByKey(array,key){//数组排序
            return array.sort(function(a,b){
                var x=a[key];
                var y=b[key];
                return ((x<y)?-1:((x>y)?1:0));
            });
        };
    </script>
    
    
    

    v-text 和 v-html 排序

        <div id="app">
            <span v-text="msg"> </span>
            <span v-html="dodo"> </span>
        </div>
        <script type="text/javascript">
            var app = new Vue({
                el:'#app',
                data:{
                    msg:"vText的内容",
                    dodo:"<h2> vHtml内容 </h2>"
                }
            })
        </script>
    
    

    绑定事件 v-on可以用 @替换

        <div id="app">
            本场比赛得分:{{count}}<br>
            <button v-on:click="jiafen"> 加分 </button>
            <button @click="jianfen"> 减分 </button>
            <input type="text" v-on:keyup.enter="onEnter" v-model="secondCount">
    
        </div>
        <script type="text/javascript">
            var app=new Vue({
                el:'#app',
                data:{
                    count:1,
                    secondCount:2
                },
                methods:{
                    jiafen:function(){
                        this.count++;
                    },
                    jianfen:function(){
                        this.count--;
                    },
                    onEnter:function(){
                        this.count=this.count + parseInt(this.secondCount);
                    }
                }
            })
    
        </script>
    
    
    image.png

    相关文章

      网友评论

          本文标题:2018-05-22 指令

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