<view bindtap="a" data-f="{{flag}}">123</view>
<!-- wx:for="{{数组}}" 循环需要绑定key wx:key="index"-->
<!-- 自带定义 item 表示数组的每一项 index 表示数组的索引 -->
<!-- 使用wx:for-item修改每一项值的key -->
<!-- 使用wx:for-index修改每一项值的index -->
<view wx:for="{{list}}" class="t" wx:key="i"
wx:for-item="r" wx:for-index="i"
style="color:{{r.styFlag?'red':''}}"
data-i="{{i}}"
bindtap="choose"
>
{{r.name}}--{{i}}
</view>
js内容:
data: {
flag:1,
list:['冰墩墩','雪融融','小泡菜'],
list:[{
name:'冰墩墩',
styFlag:true
},{
name:'雪融融',
styFlag:false
},{
name:'小泡菜',
styFlag:false
}]
},
choose:function(e){
let { currentTarget:{ dataset:{i} } } = e
/* 第一步获取点击的当前的内容的索引 */
console.log(i)
/* 排他 把所有的先置空 */
this.data.list.forEach(r=>{
r.styFlag = false
})
this.data.list[i].styFlag = true
/* 数据变了 视图没变 必须要使用setData实现数据和视图的双向数据绑定 */
this.setData({
list:this.data.list
})
},
a:function(e){
console.log(e)
},
效果:
wxml内容:
<button bindtap="go1" style="margin: 3px">张三</button>
<button bindtap="go2" style="margin: 3px">李四</button>
<button bindtap="go3" style="margin: 3px">24号</button>
<button bindtap="go4" style="margin: 3px">不带参数</button>
<button bindtap="goBack">返回上一级</button>
<!-- wx:if 和 wx:elif 以及wx:else之间不可以被其他的标签打断 -->
<block>
<view wx:if="{{msg=='zhangsan'}}" class="t">欢迎回来主人</view>
<view wx:elif="{{msg=='lisi'}}" class="t">家里水龙头没有坏不要过来</view>
<view wx:elif="{{msg=='24'}}" class="t">您好欢迎为您服务</view>
<view wx:else class="t">显示家里没人</view>
</block>
js内容:
Page({
/**
* 页面的初始数据
*/
data: {
msg:""
},
goBack:function(){
wx.navigateBack()
},
/**
*/
onLoad: function (options) {
console.log(options.name)
/* 多次使用setData会影响性能 尽量把多次setData 使用一次setData来实现
尽量少的使用setData来提高小程序的性能 */
this.setData({
msg:options.name
})
/* 如果名字叫张三 页面显示欢迎回来主人 */
/* 如果名字叫李四 页面显示家里水龙头没有坏不要过来 */
/* 如果名字叫24号 页面显示您好欢迎为您服务 */
/* 都不是 显示家里没人 */
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
{
"pages": [
"pages/index/index",
"pages/forpage/forpage",
"pages/mypage/mypage",
"pages/logs/logs",
"pages/fenglei/fenglei"
],
"window": {
"backgroundTextStyle": "dark",
"navigationBarBackgroundColor": "#FF0000",
"navigationBarTitleText": "kw47page",
"navigationBarTextStyle": "white"
},
"tabBar": {
"color": "#fff",
"selectedColor": "#FFCA28",
"backgroundColor": "#000",
"list": [{
"pagePath": "pages/index/index",
"text": "首页",
"iconPath": "",
"selectedIconPath": ""
}, {
"pagePath": "pages/logs/logs",
"text": "日志",
"iconPath": "",
"selectedIconPath": ""
}]
},
"style": "v2",
"sitemapLocation": "sitemap.json"
}
效果图:
class Test{public static void main(String [] arg){
Test test = new Test()
test.OutPut(50 , 9) /*第一个参数50为你要输出的最大数,你改成30就是输出1-30的数,50则为输出1-50*/
/*第二个参数9,就是控制你换行的值,你改成10就是每输出10个字就换行一次*/
} public void OutPut(int length , int size){
int temp = 1
for(int i = 1 i <= length i ++ ,temp ++){
System.out.print(i+"\t")
if(temp % size == 0){
System.out.println()
}
}
}
} 将上面的代码保存成为Test.java文件(其实后缀为java的就行了),编译就能运行了。。
#include <stdio.h>#define MAX_GOODS 100
typedef struct goods
{
int cnt
int price
}GOODS_T
int main(int argc, char *argv[])
{
int money_all = 0
int money_now = 0
int i = 0
GOODS_T goods[MAX_GOODS] = {0}
printf("请输入预算:")
scanf("%d", &money_all)
while(i < MAX_GOODS)
{
printf("请输入项目和价格:")
scanf("%d %d", &goods[i].cnt, &goods[i].price)
money_now += (goods[i].cnt * goods[i].price)
if (money_now == money_all)
{
printf("您的剩余预算是0。\n")
break
}
else if (money_now > money_all)
{
money_now -= (goods[i].cnt * goods[i].price)
printf("你不能买最后的东西。\n")
printf("您的剩余预算是%d。\n", money_all - money_now)
break
}
i++
}
return 0
}
要注意的是,这份代码里输入项目和价格时用空格来区分数量和单价,不能用标点符号,如:请输入项目和价格:10 4
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)