zoukankan      html  css  js  c++  java
  • Vue v-if v-for v-bind v-on

    v-if

    <div v-if="type === 'A'">
      A
    </div>
    <div v-else-if="type === 'B'">
      B
    </div>
    <div v-else-if="type === 'C'">
      C
    </div>
    <div v-else>
      Not A/B/C
    </div>
    

    v-for

    <ul id="example-1">
      <li v-for="item in items">
        {{ item.message }}
      </li>
    </ul>
    var example1 = new Vue({
      el: '#example-1',
      data: {
        items: [
          {message: 'Foo' },
          {message: 'Bar' }
        ]
      }
    })
    

    v-bind

    <!-- 绑定一个属性 -->
    <img v-bind:src="imageSrc">
    <!-- 缩写 -->
    <img :src="imageSrc">
    <!-- with inline string concatenation -->
    <img :src="'/path/to/images/' + fileName">
    

    v-on

    <!-- 方法处理器 -->
    <button v-on:click="doThis"></button>
    <!-- 内联语句 -->
    <button v-on:click="doThat('hello', $event)"></button>
    <!-- 缩写 -->
    <button @click="doThis"></button>
    <!-- 停止冒泡 -->
    <button @click.stop="doThis"></button>
    <!-- 阻止默认行为 -->
    <button @click.prevent="doThis"></button>
    <!-- 阻止默认行为,没有表达式 -->
    <form @submit.prevent></form>
    <!--  串联修饰符 -->
    <button @click.stop.prevent="doThis"></button>
    <!-- 键修饰符,键别名 -->
    <input @keyup.enter="onEnter">
    <!-- 键修饰符,键代码 -->
    <input @keyup.13="onEnter">
    

    案例整合

    <!DOCTYPE html>
    <html lang="zh-cmn-Hans">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
        <meta content="telephone=no" name="format-detection" />
        <title>关注的人</title>
        <link rel="stylesheet" type="text/css" href="../css/aui.2.0.css" />
        <link href="../css/qsc-user.css" rel="stylesheet" type="text/css">
        <link href="../css/ddd-dialog.css" rel="stylesheet" type="text/css">
        <style type="text/css">
            .cont {
                margin-top: 5em!important;
            }
    
    
            .tu img {
                display: block;
                 50%;
                margin: 10px auto;
            }
    
            body {
                background-color: #fff;
                font-family: "微软雅黑";
            }
    
            .aui-bar-nav {
    
                background: #00d8c9;
            }
    
            .color_organ{
                color: #ff901a;
            }
    
            [v-cloak] {
                display: none;
            }
        </style>
    </head>
    
    <body>
    <header class="aui-bar aui-bar-nav">
        <a class="aui-pull-left aui-btn ">
            <span class="aui-iconfont aui-icon-left"></span>
        </a>
        <div class="aui-title">关注的人</div>
    </header>
    <div id="content" class="aui-content aui-margin-b-15" v-cloak>
        <div v-if="Items.length == 0">
            <div class="cont">
                <div class="tu">
                    <img src="../image/nodata5.png">
                </div>
            </div>
        </div>
        <div v-else>
        <ul class="aui-list aui-media-list">
            <li class="aui-list-item aui-list-item-middle" v-for="Item in Items">
                <div class="aui-media-list-item-inner">
                    <div class="aui-list-item-media" style=" 3rem;">
                        <img v-bind:src="Item.Avatar" class="aui-img-round aui-list-img-sm">
                    </div>
                    <div class="aui-list-item-inner">
                        <div class="aui-list-item-text">
                            <div class="aui-list-item-title aui-font-size-14" v-cloak>{{Item.Nickname}}
       
                            </div>
                        </div>
                        <div class="aui-list-item-text">
                            我直播,我快乐
                        </div>
                    </div>
                    <div class="aui-list-item-right aui-margin-r-15">
                        <input type="checkbox" class="aui-radio" checked v-on:click="follow(Item.RongCustomerId,$event)">
                    </div>
                </div>
            </li>
        </ul>
        </div>
    </div>
    
    
    <script type="text/javascript" src="../script/api.js"></script>
    <script type="text/javascript" src="../script/config.js"></script>
    <script type="text/javascript" src="../script/common.js"></script>
    <script type="text/javascript" src="../script/vue.js"></script>
    <script type="text/javascript" src="../script/jquery.min.js"></script>
    
    <script>
        var user;
        apiready = function () {
            user = $api.getStorage('user');
            fix_status_bar();
            // 获取账户数据
            api.ajax({
                url : BASE_URL_ACTION + '/RongCloud/GetSubscriptionList',
                method : 'post',
                data : {
                    values : {
                        rongCustomerId : user.person_id,
                        subscribe: 0,
                        pageIndex:0,
                        pageSize:20
                    }
                }
            },function(json, err) {
                var header_vm = new Vue({
                    el: '#content',
                    data: json,
                    methods:{
                        follow:function (RongCustomerId,e) {
                            var target = e.currentTarget;
                            if ($(target).is(":checked")) {// 关注
                                follow(RongCustomerId,user.person_id,1);
                            } else  { // 取消关注
                                follow(RongCustomerId,user.person_id,0);
                            }
    
                            // 发送页面刷新事件
                            api.sendEvent({
                                name: 'diamond_reload',
                                extra: {
                                }
                            });
                        }
                    }
                })
            });
    
        }
    
        // 关注主播
        function follow(roomId,rongCustomerId,subscribe) { // subscribe 1关注 0取消关注
            api.ajax({
                url : BASE_URL_ACTION + '/RongCloud/ChatRoomSubscribe',
                method : 'post',
                data : {
                    values : {
                        roomId:roomId, // 主播的融云id
                        rongCustomerId : rongCustomerId,
                        subscribe:subscribe
                    }
                }
            }, function(json, err) {
            });
        }
    </script>
    
    </body>
    
    </html>
    
    
  • 相关阅读:
    关于 锁的四种状态与锁升级过程 图文详解
    悲观锁与乐观锁的实现(详情图解)
    面试三轮我倒在了一道sql题上——sql性能优化
    我的程序跑了60多小时,就是为了让你看一眼JDK的BUG导致的内存泄漏。
    快来!我从源码中学习到了一招Dubbo的骚操作!
    我从LongAdder中窥探到了高并发的秘籍,上面只写了两个字...
    震惊!ConcurrentHashMap里面也有死循环,作者留下的“彩蛋”了解一下?
    mybatis 逆向工程使用姿势不对,把表清空了,心里慌的一比,于是写了个插件。
    吐血输出:2万字长文带你细细盘点五种负载均衡策略。
    mybatis开发,你用 xml 还是注解?我 pick ...
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/6698551.html
Copyright © 2011-2022 走看看