Weex 从无到有开发一款上线应用 4

iOS调试Demo
WeexDemo
这一篇将开始用Weex请求网络数据。

从需求开始

发现页面@2x.png

设计如上图。我们需要请求这样一组杂志数据。
这里就不套路如何码UI了,不同人有不同的UI设计逻辑,这里给出这个页面的Vue文件,仅供参考。发现页面
明确了需求,Weex使用了MVVM的思想,用数据驱动UI展示,当数据改变,UI也将会渲染改变。

设置一个数组变量

数组变量是为了记录保存请求信息,最开始是一个空值。

<script>
    export default
    {
        data () {
            return {
                magazines:[],
            }
        }
    }
</script>

那么问题来了 该在何时请求信息呢?像我们在开发中 会在viewDidLoad时请求,那么Vue文件中我们需要在created(){}中请求。


        created () {
            let self = this;
            self.day = new Date().getDate();
            this.host=this.getHost().replace('8081','8083')
            self.c;
        },

来分析一下self.getAllData();方法,来看Weex中的网络请求
首先需要引用请求Module

<script>
    let stream = weex.requireModule('stream')
</script>

之后stream使用如下

            getData (callback) {
                return stream.fetch({
                    method: 'GET',//不用解释
                    url: apiHost + '/api/recommend/list?type=12&start='+this.start+'&take=' + this.take,//这个也不用解释
                    type: 'json',//这个也是
//                  请求头处理
                    headers: {
                        accessKey: this.accessKey
                    }
                }, callback)//callback 请求完成回调
            },
            getAllData(){
                this.getData(res => {//请求完成回调的实现
                    this.magazines = res.data.result.items;//初始化赋值this.magazines
                    this.start = this.start + this.take;//更改请求page
                })
            },
            onloading() {
//此处变量控制显示和隐藏
                this.loadingDisplay = 'show';
                let self = this;
                this.getData(res => {
                    if (res.data.result.items.length > 0) {
//                遍历添加数据
                        res.data.result.items.forEach(function (item) {
                            self.magazines.push(item);
                        })
                        this.start = this.start + this.take;
                    }
                    this.loadingDisplay = 'hide';
                })
            },

这样数据请求下来,新的数据就会驱动UI改变。已达到需求。
实现的程序截图如下:


程序发现页面截图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • iOS调试DemoWeexDemo 初始化APPFrame 终端创建 Weex工程 安装IDE插件 WebStor...
    叫我小詺阅读 6,038评论 9 5
  • iOS调试DemoWeexDemo 开始开发真正的Weex页面 先看一下UI设计界面 然后我们需要考虑这个页面的导...
    叫我小詺阅读 4,487评论 0 1
  • 她很独寂,总会漫无目的的寻觅。 她远望天际,听见了宇宙外的另一种声音。 她想去远方,去流浪,去想像; 却害怕路上布...
    阿米的猫阅读 1,121评论 0 0
  • 冬日 感念这一日的微风,没有如往昔冬日的寒风刺骨,也没有无风时的死寂孤独。 微风,轻轻的,温柔的,从耳边吹过,...
    阳蝶阅读 3,008评论 0 1
  • 随着秋风落叶我踏上回京的路,两天的密云小聚收获颇丰,前途似锦的小穆“钱”途确实很胜!于院长的温文尔雅,奠定...
    A方洋Frank阅读 1,895评论 0 2

友情链接更多精彩内容