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;
width: 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="width: 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>

Vue v-if v-for v-bind v-on的更多相关文章

  1. SIP模块版本错误问题:the sip module implements API v??? but XXX module requires API v???

    系统安装了python 2.7,继续安装PyQt4,于是依次下载sip.pyqt4源码进行安装.用以下代码测试: import PyQt4.QtGui 显示出错.错误信息:the sip module ...

  2. n维向量空间W中有子空间U,V,如果dim(U)=r dim(V)=n-r U交V !={0},那么U,V的任意2组基向量的组合必定线性相关

    如题取U交V中的向量p (p!=0), 那么p可以由 U中的某一组基线性组合成(系数不全是零),同时,-p也可以由V中的某一组基线性组合成(系数不全为零) 考察p+(-p)=0 可知道,U中的这组基跟 ...

  3. vue中使用elementUI中表格的v宽度,字体大小

    <el-table :row-style="{height:'20px'}" :cell-style="{padding:'0px'}" style=&q ...

  4. XV Open Cup named after E.V. Pankratiev. GP of Tatarstan

    A. Survival Route 留坑. B. Dispersed parentheses $f[i][j][k]$表示长度为$i$,未匹配的左括号数为$j$,最多的未匹配左括号数为$k$的方案数. ...

  5. XVII Open Cup named after E.V. Pankratiev. GP of SPb

    A. Array Factory 将下标按前缀和排序,然后双指针,维护最大的右边界即可. #include<cstdio> #include<algorithm> using ...

  6. XVI Open Cup named after E.V. Pankratiev. GP of Ukraine

    A. Associated Vertices 首先求出SCC然后缩点,第一次求出每个点能到的点集,第二次收集这些点集即可,用bitset加速,时间复杂度$O(\frac{nm}{64})$. #inc ...

  7. XVI Open Cup named after E.V. Pankratiev. GP of Peterhof

    A. (a, b)-Tower 当指数大于模数的时候用欧拉定理递归计算,否则直接暴力计算. #include<cstdio> #include<algorithm> #incl ...

  8. XVI Open Cup named after E.V. Pankratiev. GP of Siberia

    A. Passage 枚举两个点,看看删掉之后剩下的图是否是二分图. #include <bits/stdc++.h> using namespace std ; const int MA ...

  9. XVI Open Cup named after E.V. Pankratiev. GP of Ekaterinburg

    A. Avengers, The 留坑. B. Black Widow 将所有数的所有约数插入set,然后求mex. #include<bits/stdc++.h> using names ...

  10. XVI Open Cup named after E.V. Pankratiev. GP of Eurasia

    A. Nanoassembly 首先用叉积判断是否在指定向量右侧,然后解出法线与给定直线的交点,再关于交点对称即可. #include<bits/stdc++.h> using names ...

随机推荐

  1. 3.c语言结构体成员内存对齐详解

    一.关键一点 最关键的一点:结构体在内存中是一个矩形,而不是一个不规则形状 二.编程实战 #include <stdlib.h> #include <stdio.h> stru ...

  2. SparkCore基础(二)

    * SparkCore基础(二) 继续探讨SparkCore,开门见山,不多废话. SparkApplication结构探讨 包含关系: 之前我们运行过很多App了,其实每一个App都包含若干个Job ...

  3. Android——PullToRefresh自动刷新

    需求:强制刷新 方法一: PullToRefreshListView本身提供了一个setRefreshing()接口,调用该接口会自动触发下拉刷新的操作(前提是支持下拉刷新).按照一般的操作我们直接在 ...

  4. 洛谷P2408 不同子串个数 后缀数组 + Height数组

    ## 题目描述: 给你一个长为 $N$ $(N<=10^5)$ 的字符串,求不同的子串的个数我们定义两个子串不同,当且仅当有这两个子串长度不一样 或者长度一样且有任意一位不一样.子串的定义:原字 ...

  5. 俩层判断,判断button是否可以点击

    描述如下: 当被保人数超过三个人并且input是必填项的时候button是disable为false的 代码如下: //起保日期 $('.pickerfour').on('tap', function ...

  6. Nginx的日志管理

        vim /usr/local/nginx/conf/nginx.conf                                  #编辑 nginx 配置文件     server{ ...

  7. PHP 数组转字符串,字符串转数组

    explode将字符串分割为数组: $str = explode( ',',$str); 第一个参数为字符串的分界符,例如1,2,3,4. 第二个是需要分割的数组 分割后就是 array( 1 , 2 ...

  8. yes---重复输出指定的字符串

    yes命令在命令行中输出指定的字符串,直到yes进程被杀死.不带任何参数输入yes命令默认的字符串就是y. 语法 yes(参数) 参数 字符串:指定要重复打印的字符串. 实例 [root@localh ...

  9. 题解 P3605 【[USACO17JAN]Promotion Counting晋升者计数】

    这道题开10倍左右一直MLE+RE,然后尝试着开了20倍就A了...窒息 对于这道题目,我们考虑使用线段树合并来做. 所谓线段树合并,就是把结构相同的线段树上的节点的信息合在一起,合并的方式比较类似左 ...

  10. 【Henu ACM Round#15 F】Arthur and Questions

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] a1+a2+...+ak<a2+a3+...ak+1 ->a1<ak+1 a2+a3+...+ak+1<a3 ...