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

QQ登录

只需一步,快速开始

查看: 5270|回复: 10

[结贴] attachmentSimple上传bassData数据,如何实现仿淘宝首页轮播。

  [复制链接]

1

主题

6

帖子

84

积分

初级会员

Rank: 2

积分
84
QQ
发表于 2016-1-27 14:32:01 | 显示全部楼层 |阅读模式
define(function(require) {
        var $ = require("jquery");
        var justep = require("$UI/system/lib/justep");

        var Model = function() {
                this.callParent();

        };

        // 附件图片路径转换
        Model.prototype.getImageUrl = function(row) {
                if (row !== undefined) {
                        var jsonList = eval("(" + row.val('fImg') + ")");
                        var ownerID = row.getID();
                        if (jsonList !== undefined && jsonList !== null) {
                                var realFileName = jsonList[0]["realFileName"];
                                var storeFileName = jsonList[0]["storeFileName"];
                                var operateType = "browse";
                                var url = '$UI/system/service/doc/common/simpleFileStore.j?realFileName=' + realFileName + '&storeFileName=' + storeFileName + '&ownerID=' + ownerID + '&operateType=' + operateType;
                                return require.toUrl(url);
                        }
                }
        };

        Model.prototype.imgDataCustomRefresh = function(event) {
                var imgData = this.comp("imgData");
               
                imgData.loadData(imgData, true, null, null, true);                       
                var me = this;
                var carousel = this.comp("carousel1");
                imgData.each(function(obj) {
                        var fImg = require.toUrl(obj.row.val("fImg", this.getImgUrl(event.value)));
                        var fUrl = require.toUrl(obj.row.val("fUrl"));
                        if (me.comp('contentsImg').getLength() > obj.index) {
                                $(carousel.domNode).find("img").eq(obj.index).attr({
                                        "bind-attr-src" : fImg,
                                        "pagename" : fUrl
                                });
                                if (obj.index == 0) {
                                        localStorage.setItem("index_BannerImg_src", fImg);
                                        localStorage.setItem("index_BannerImg_url", fUrl);
                                        }
                        } else {
                                carousel.add('<img bind-attr-src="' + fImg + '" class="img1" bind-click="openPageClick" pagename="' + fUrl + '"/>');
                        }
                });
        };

       
        return Model;
});

1

主题

6

帖子

84

积分

初级会员

Rank: 2

积分
84
QQ
 楼主| 发表于 2016-1-28 15:31:26 | 显示全部楼层
现在能正常轮播图片。
Model.prototype.imgDataAfterRefresh = function(event) {

                var me = this;
                var carousel = this.comp("carousel1");
                event.source.each(function(obj) {

                        var jsonList = eval("(" + obj.row.val('fImg') + ")");
                        var ownerID = obj.row.getID();
                        var realFileName = jsonList[0]["realFileName"];
                        var storeFileName = jsonList[0]["storeFileName"];
                        var operateType = "browse";
                        var url = '$UI/system/service/doc/common/simpleFileStore.j?realFileName=' + realFileName + '&storeFileName=' + storeFileName + '&ownerID=' + ownerID + '&operateType=' + operateType;

                        var fImg = require.toUrl(url);

                        var fUrl = require.toUrl(obj.row.val("fUrl"));
                        if (me.comp('contentsImg').getLength() > obj.index) {
                                $(carousel.domNode).find("img").eq(obj.index).attr({
                                        "src" : fImg,
                                        "pagename" : fUrl
                                });
                                if (obj.index == 0) {
                                        localStorage.setItem("index_BannerImg_src", fImg);
                                        localStorage.setItem("index_BannerImg_url", fUrl);
                                }
                        } else {

                                carousel.add('<img src="' + fImg + '" class="img1" data-bind="attr:{src=$model.getImageUrl($model.imgData.getCurrentRow())  bind-click="openpageclick"  pagename="' + fUrl + '"}/>');

                        }
                });
        };
回复 支持 1 反对 0

使用道具 举报

1

主题

6

帖子

84

积分

初级会员

Rank: 2

积分
84
QQ
 楼主| 发表于 2016-1-27 14:34:23 | 显示全部楼层
偶是新手,一直不能实现,请看看楼上代码,请教。
回复 支持 反对

使用道具 举报

发表于 2016-1-27 14:44:07 | 显示全部楼层
基本上逻辑,我看是正确的!你使用debugger调试代码看看,fImg 和 fUrl 变量的值正确吗?
还有bind-attr-src是绑定ok对象的,而不是直接赋值一个字符串的路径,如果使用字符串就直接写src属性即可!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

1

主题

6

帖子

84

积分

初级会员

Rank: 2

积分
84
QQ
 楼主| 发表于 2016-1-27 15:23:12 | 显示全部楼层
Model.prototype.imgDataCustomRefresh = function(event) {
        debugger
                var imgData = this.comp("imgData");
               
                imgData.loadData(imgData, true, null, null, true);                       
                var me = this;
                var carousel = this.comp("carousel1");
                imgData.each(function(obj) {
                        var fImg = require.toUrl(obj.row.val("fImg"));
                        var fUrl = require.toUrl(obj.row.val("fUrl"));
                        if (me.comp('contentsImg').getLength() > obj.index) {
                                $(carousel.domNode).find("img").eq(obj.index).attr({
                                        "src" : fImg,
                                        "pagename" : fUrl
                                });
                                if (obj.index == 0) {
                                        localStorage.setItem("index_BannerImg_src", fImg);
                                        localStorage.setItem("index_BannerImg_url", fUrl);
                                        }
                        } else {
                                carousel.add('<img bind-attr-src="$model.getImageUrl($model.imgData.getCurrentRow())" class="img1" bind-click="openPageClick" pagename="' + fUrl + '"/>');
                        }
                });
        };
回复 支持 反对

使用道具 举报

1

主题

6

帖子

84

积分

初级会员

Rank: 2

积分
84
QQ
 楼主| 发表于 2016-1-27 15:23:50 | 显示全部楼层
这样调整后还是不能实现,请大师指教。
回复 支持 反对

使用道具 举报

发表于 2016-1-27 15:34:43 | 显示全部楼层
本帖最后由 liangyongfei 于 2016-1-27 16:27 编辑
tot112 发表于 2016-1-27 15:23
这样调整后还是不能实现,请大师指教。

已远程
loadData方法写的不对!
你的data数据根本就没有加载成功,你是自定义的baasServer 建议先学会baasServer如何加载数据到baasData中
http://wex5.com/cn/1-wex5#0
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

1

主题

6

帖子

84

积分

初级会员

Rank: 2

积分
84
QQ
 楼主| 发表于 2016-1-28 15:27:12 | 显示全部楼层
谢谢已解决,请结贴
回复 支持 反对

使用道具 举报

发表于 2016-1-28 15:28:20 | 显示全部楼层
tot112 发表于 2016-1-28 15:27
谢谢已解决,请结贴

希望您能把你的代码分享一下,让大家参考!谢谢
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

8

主题

43

帖子

149

积分

初级会员

Rank: 2

积分
149
QQ
发表于 2016-3-22 15:27:32 | 显示全部楼层
tot112 发表于 2016-1-28 15:31
现在能正常轮播图片。
Model.prototype.imgDataAfterRefresh = function(event) {

刚好也碰上这个问题,学习了!!!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-22 16:44 , Processed in 0.064532 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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