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;
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的更多相关文章
- 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 ...
- 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中的这组基跟 ...
- vue中使用elementUI中表格的v宽度,字体大小
<el-table :row-style="{height:'20px'}" :cell-style="{padding:'0px'}" style=&q ...
- XV Open Cup named after E.V. Pankratiev. GP of Tatarstan
A. Survival Route 留坑. B. Dispersed parentheses $f[i][j][k]$表示长度为$i$,未匹配的左括号数为$j$,最多的未匹配左括号数为$k$的方案数. ...
- XVII Open Cup named after E.V. Pankratiev. GP of SPb
A. Array Factory 将下标按前缀和排序,然后双指针,维护最大的右边界即可. #include<cstdio> #include<algorithm> using ...
- XVI Open Cup named after E.V. Pankratiev. GP of Ukraine
A. Associated Vertices 首先求出SCC然后缩点,第一次求出每个点能到的点集,第二次收集这些点集即可,用bitset加速,时间复杂度$O(\frac{nm}{64})$. #inc ...
- XVI Open Cup named after E.V. Pankratiev. GP of Peterhof
A. (a, b)-Tower 当指数大于模数的时候用欧拉定理递归计算,否则直接暴力计算. #include<cstdio> #include<algorithm> #incl ...
- XVI Open Cup named after E.V. Pankratiev. GP of Siberia
A. Passage 枚举两个点,看看删掉之后剩下的图是否是二分图. #include <bits/stdc++.h> using namespace std ; const int MA ...
- 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 ...
- XVI Open Cup named after E.V. Pankratiev. GP of Eurasia
A. Nanoassembly 首先用叉积判断是否在指定向量右侧,然后解出法线与给定直线的交点,再关于交点对称即可. #include<bits/stdc++.h> using names ...
随机推荐
- Car Talk1
This question is based on a Puzzler that was broadcast on the radioprogram Car Talk1: “I was driving ...
- 安卓开发--ListView
package com.zx.listview01; import java.util.ArrayList; import java.util.HashMap; import java.util.Li ...
- TabLayout禁止选择
项目中有个页面上面是TabLayout下面是Listview,选择TabLayout的选项卡更新下面Listview里面的数据,在请求的时候想禁用TabLayout选项卡来避免用户频繁点击选项卡造成L ...
- ListView和GridView的setOnScrollListener的简介
---恢复内容开始--- 设置ListView和GridView的滑动监听 circle_lv.setOnScrollListener(new AbsListView.OnScrollListener ...
- SqlServer 删除日志
1 数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间.SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作.可以通过直接删除log文件和 ...
- 976 C. Nested Segments
You are given a sequence a1, a2, ..., an of one-dimensional segments numbered 1 through n. Your task ...
- php八大设计模式之职责链模式
当发生一种事情时,我们需要要对应职责的事物去处理对应的事情. 或者去找最近的类(就是级别最低的)去解决,如果解决不了就顺着往上找职责更高的,直到解决为止. 注意:一定是要有一个职责最高的类,否则会有问 ...
- [NOI2003]逃学的小孩(树的直径)
[NOI2003]逃学的小孩 题目描述 Chris家的电话铃响起了,里面传出了Chris的老师焦急的声音:"喂,是Chris的家长吗?你们的孩子又没来上课,不想参加考试了吗?"一听 ...
- JVM学习心得
出处:http://blog.csdn.net/qq_16143915/article/details/51195438 一.JAVA内存管理与GC机制 Java在JVM所虚拟出的内存环境中执行,ja ...
- 一些牛人的IOS博客,mark下慢慢学习
http://blog.devtang.com/ 唐巧的个人blog http://gracelancy.com/ Lancy's blog http://b ...