起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4176|回复: 9

[已结贴] 关于修改组件属性,求助!

[复制链接]

16

主题

61

帖子

151

积分

初级会员

Rank: 2

积分
151
QQ
发表于 2018-5-22 15:46:59 | 显示全部楼层 |阅读模式
本帖最后由 zsyhcxs 于 2018-5-22 15:48 编辑

小程序中想实现如下功能:
1、点击一张图片可以修改图片的地址(src,即点击图图片换成另外一张),而且这个地址是随机的(有4张图片,点击后随机改变为其他图片)
2、点击图片可以修改图片的透明度等属性
我在app中可以用代码实现,但是小程序好像         $("image").attr("src", 'image/jn2.png');  $("image").attr("opacity", '1');  都不好用。
求高手指点。

8

主题

1141

帖子

1885

积分

金牌会员

Rank: 6Rank: 6

积分
1885
QQ
发表于 2018-5-22 16:36:30 | 显示全部楼层
在小程序中, 代码不能直接操作展现元素(例如input, text),只能通过修改data中的数据,通过数据绑定修改展现元素。
所以,值只能通过操作或js代码的方式, 赋值给data组件,不能像App一样直接控制页面元素的属性
1. var random = parseInt(3*Math.random());//生成随机整数
    this.comp('tableData').setValue('fceshi',random)//赋给静态data的fceshi字段
    点击时执行以上代码赋一个随机数给数据集的fceshi字段,然后用这个随机数过滤显示的图片即可
2.你可以使用组件右边属性栏中的 动态样式 ,通过data字段来控制元素样式是否生效
回复 支持 反对

使用道具 举报

16

主题

61

帖子

151

积分

初级会员

Rank: 2

积分
151
QQ
 楼主| 发表于 2018-5-25 08:59:45 | 显示全部楼层
谢谢。学习一下
回复 支持 反对

使用道具 举报

16

主题

61

帖子

151

积分

初级会员

Rank: 2

积分
151
QQ
 楼主| 发表于 2018-5-25 09:12:10 | 显示全部楼层
1、var random = parseInt(3*Math.random());  如此定义· 总是在var下面有红色报错线 ,是什么原因?
2、'tableData'是自己定义的一个静态数据集么?fceshi是静态数据集的某一个列?
3、comp()括号里面的参数好像是xid,小程序里面只有id呀?
回复 支持 反对

使用道具 举报

8

主题

1141

帖子

1885

积分

金牌会员

Rank: 6Rank: 6

积分
1885
QQ
发表于 2018-5-25 09:22:22 | 显示全部楼层
1.本地使用没有出现什么红线,看截图,检查你的代码,你可以用个空白页试下
2.是的
3.comp()是js提供的方法你可以百度下,是可以获取到元素id的,只是小程序中,代码不能直接操作展现元素(例如input, text),只能通过修改data中的数据,通过数据绑定修改展现元素。
所以,值只能通过操作或js代码的方式, 赋值给data组件,不能像App一样直接控制页面元素的属性
TIM图片20180525092217.png
TIM图片20180525091832.png
回复 支持 反对

使用道具 举报

16

主题

61

帖子

151

积分

初级会员

Rank: 2

积分
151
QQ
 楼主| 发表于 2018-5-25 09:32:41 | 显示全部楼层
2982AAB0-8442-493D-B50D-4EDEF2533B9C.png 这个定义放在外边就会有报错,在点击事件里面就不会。
但是我在wex5,或者牛刀app做的时候放在外面都不会有报错。
回复 支持 反对

使用道具 举报

8

主题

1141

帖子

1885

积分

金牌会员

Rank: 6Rank: 6

积分
1885
QQ
发表于 2018-5-25 09:43:30 | 显示全部楼层
你可以自己看下es6的官方规范文档
回复 支持 反对

使用道具 举报

16

主题

61

帖子

151

积分

初级会员

Rank: 2

积分
151
QQ
 楼主| 发表于 2018-5-25 20:06:53 | 显示全部楼层
所需功能实现,谢谢指导
回复 支持 反对

使用道具 举报

16

主题

61

帖子

151

积分

初级会员

Rank: 2

积分
151
QQ
 楼主| 发表于 2018-5-29 10:40:01 | 显示全部楼层
YZH 发表于 2018-5-22 16:36
在小程序中, 代码不能直接操作展现元素(例如input, text),只能通过修改data中的数据,通过数据绑定修改 ...

请问·this.comp('tableData').setValue('fceshi',random)  这个赋值为什么不可以是this.comp('tableData').setValue('ceshi',random),使用列标示而不是使用列名称?
回复 支持 反对

使用道具 举报

8

主题

1141

帖子

1885

积分

金牌会员

Rank: 6Rank: 6

积分
1885
QQ
发表于 2018-6-1 15:30:26 | 显示全部楼层
列标识是name,列名称是label  列名称只是用于显示而且
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-23 15:14 , Processed in 0.059935 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表