收藏
回答

.js里初始化的数组,为什么在wxml里面没有数据

问题模块
API和组件

.js内容

Page({

    data:{

       startSize:"",

        array1: [

       'foo',

       'bar'

   ]

    },

    onLoad:function(options){

        //页面初始化options为页面跳转带来的参数

        var index = options.pageIndex;

        //每页显示数据

        var pageSize=10;

        //开始变量赋值

        this.setData({startSize:(index-1)*pageSize});

        var strSize=this.data.startSize;

        var endSize=strSize+pageSize;

        //计算并保存当前页显示的数据

        for (var i=strSize;i<endSize;i++){

                       this.data.array1.push("第"+(i+1)+"章");

           

        }

        console.log(this.data.array1);

    },

    onReady:function(){


    },

    onShow:function(){


    },

    onHide:function(){


    },

    onUnload:function(){


    }

})

在调试时明确显示出array1的内容是:


但是在wxml里调用时,只能调用最初的foo和bar

<view wx:for="{{array1}}">

  {{item}}

</view>


请问是什么原因呢?

最后一次编辑于  2017-04-06  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

3 个回答

  • 酸菜炒米
    酸菜炒米
    2017-04-07

    已解决谢谢@馒头,先用局部变量push,然后用setData给全局变量赋值。

    也谢谢Elvira,但是wx:for-item="item" 可以不用的

    2017-04-07
    赞同
    回复
  • Elvira
    Elvira
    2017-04-06

    wx:for-item="item"

    2017-04-06
    赞同
    回复
  • 馒头
    馒头
    2017-04-06

    看文档,setData() 和 = 赋值的区别

    2017-04-06
    赞同
    回复