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

QQ登录

只需一步,快速开始

查看: 2255|回复: 9

[处理中3] chooseimage

[复制链接]

23

主题

61

帖子

161

积分

初级会员

Rank: 2

积分
161
QQ
发表于 2017-6-30 16:04:00 | 显示全部楼层 |阅读模式
请教老师,chooseimage打开相册并选择一张图片后,要怎么赋给wex5上的image组件,并显示出来呢。
发表于 2017-6-30 18:17:44 | 显示全部楼层
请参考案例
http://docs.wex5.com/how-to-use-js-api/

在chooseImage中,success回调以localIds数组返回图片路径。  将路径赋值给img的src属性即可!

  1. image.chooseImage({
  2.     success : function(res) {
  3.       res.localIds
  4.     },
  5.     fail : function(res) {
  6.          alert("fail:"+JSON.stringify(res));
  7.     }
  8. });
复制代码



也可以使用动态绑定!将图片URL赋值给data组件字段!,图片绑定data字段即可!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

23

主题

61

帖子

161

积分

初级会员

Rank: 2

积分
161
QQ
 楼主| 发表于 2017-7-3 09:42:38 | 显示全部楼层
liangyongfei 发表于 2017-6-30 18:17
请参考案例
http://docs.wex5.com/how-to-use-js-api/

梁老师我是这么写的
this.wxApi.exec().done(function(wx) {
                                wx.chooseImage({
                                        success: function (res) {
                                                alert("成功");
                                                var localIds = res.localIds;
                                                $(this.getElementByXid("image1")).attr(localIds[0]);
                                                alert(localIds[0]);
                                        }
                                })
                        }).fail(function(){
                       
                        });
图片显示不出来。后面的alert也没有打印出来。
回复 支持 反对

使用道具 举报

发表于 2017-7-4 09:20:45 | 显示全部楼层
yunfang 发表于 2017-7-3 09:42
梁老师我是这么写的
this.wxApi.exec().done(function(wx) {
                                wx.chooseImage({

alert("成功");   
执行了吗??

请问你是在app中调用呢?还是微信公众号中调用的??

直接运行案例(app 或 公众号)可以吗?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

23

主题

61

帖子

161

积分

初级会员

Rank: 2

积分
161
QQ
 楼主| 发表于 2017-7-4 09:44:34 | 显示全部楼层
liangyongfei 发表于 2017-7-4 09:20
alert("成功");   
执行了吗??

我是在微信公众号中调用的,alert("成功");执行了。直接运行案例是什么意思?我加了页面判断,如果在app中运行,就能显示图片,可是微信公众号中,不能显示。
回复 支持 反对

使用道具 举报

发表于 2017-7-4 13:25:38 | 显示全部楼层
yunfang 发表于 2017-7-4 09:44
我是在微信公众号中调用的,alert("成功");执行了。直接运行案例是什么意思?我加了页面判断,如果在app ...

/UI2/system/api/native/demo/test.w        
就是这个案例啊!

微信公众号中 运行直接打印
alert(localIds[0]);

alert("成功"); 一样写在第一行,能否正常显示呢》?

qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

23

主题

61

帖子

161

积分

初级会员

Rank: 2

积分
161
QQ
 楼主| 发表于 2017-7-4 14:42:47 | 显示全部楼层
liangyongfei 发表于 2017-7-4 13:25
/UI2/system/api/native/demo/test.w        
就是这个案例啊!

这个案例能运行,写在第一行都能显示出来。也能打开手机相册选择图片,就是给image赋值不成功。是我代码写的不对吗。
回复 支持 反对

使用道具 举报

发表于 2017-7-4 15:57:45 | 显示全部楼层
yunfang 发表于 2017-7-4 14:42
这个案例能运行,写在第一行都能显示出来。也能打开手机相册选择图片,就是给image赋值不成功。是我代码 ...

代码当然有问题了
我仔细一看!你是在回调函数中调用了 this.getElementByXid

必须重新定义变量才能调用
http://docs.wex5.com/wex5-ui-question-list-2160
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

23

主题

61

帖子

161

积分

初级会员

Rank: 2

积分
161
QQ
 楼主| 发表于 2017-7-4 19:36:01 | 显示全部楼层
liangyongfei 发表于 2017-7-4 15:57
代码当然有问题了
我仔细一看!你是在回调函数中调用了 this.getElementByXid

Model.prototype.row4Click = function(event){
        var me = this;       
        if(this.wxApi) {
                        this.wxApi.exec().done(function(wx) {
                                alert("chenggong");
                                wx.chooseImage({
                                        success: function (res) {
                                                alert("成功");
                                                var localIds = res.localIds;
                                                var image = me.getElementByXid('image1');
                                                $(image).attr(localIds[0]);
                                                alert(localIds[0]);
                                        },
                                        fail:function(res) {
                                                alert("shibai");
                                        }
                                })
                        }).fail(function(){
                       
                        });

这样写alert(localIds[0]);能出来,可是图片还是不能显示啊。
回复 支持 反对

使用道具 举报

发表于 2017-7-5 10:38:58 | 显示全部楼层
yunfang 发表于 2017-7-4 19:36
Model.prototype.row4Click = function(event){
        var me = this;       
        if(this.wxApi) {

微信调试代码运行试试吧!
跟一下才知道!

或者你试试 img 的 bind-attr-src属性绑定一个KO对象!然后你把URL赋值给KO对象!这样图片就能自动感知和显示!

比如
this.img = justep.Bind.observable('');
me.img.set('localIds[0]');


只要 localIds[0] 的值是正确的!图片就能显示才对!
要不你用手机浏览器  直接访问下这个URL值!能打开图片吗?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-12 17:11 , Processed in 0.054584 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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