关于微信小程序开发中如何动态的往数组中添加对象,并进行更改

关于微信小程序开发中如何动态的往数组中添加对象,并进行更改,第1张

因为以前都是用Vue开发,写项目,自然而然的就习惯了vue的双向绑定机制,开发中也觉得这真是方便,但是在最近的小程序开发中,我在动态往数组中传值,可是吃尽了苦头,怎么绑都绑定不上。当然,也并不是再说小程序的不好,各有各的开发理念,各有各的好,所以在这里写下一些心得,一方面让自己别忘了,一方面也希望和我一起遇到这个问题的小伙伴们,别再走这个坑!

言归正传:

加入此刻我的data中,有一个数组

然后我定义了一个方法,需要往这个lists数组中动态的添加数据

这个方法是可以往data中的lists中添加对象的,这我相信大家都能做得到,很简单

但是,当我们要改变这个lists中某个对象下的key:value值呢?当时我就在这里卡了好久,我一开始想的的是在this.setData()这个函数中,把key值改为 lists[下标].属性值 但是当我这样写了以后,控制台立马报错,原因是因为,他在data中并没有找到你这个key值,也就是说我们这个写的方法是错误的,但是按照道理思路是没错的,所以也就有了下面这个方法,可以改变对应的lists里面的属性值

这样就可以了,就能改变data中数组里面任意的值,不过要谨记一点,就是,一定要拿中括号[xx]包裹你要改变的key值,不然也是会报错的!好了,其实我感觉我说了很多没必要的话,但是,我就当记笔记了!希望大家和自己继续努力,学习永无止境【点击了解更多加盟项目】

可以用反射来做,比如有个类叫Snake Class.forName("Snake").newInstance()这样可以获得该类实例,前提是有一个无参数构造函数来支持反射

有或者维护一个类名数组并根据一个创建器(工厂)来返回实例

比如classes = {"Snake","Fish"}

再写一个方法create(int classId){

switch(classId)

case 0: return new Snake()

case 1: return new Fish()

}

输入字符串BufferedReader in = new BufferedReader(new InputStreamReader(System.in))

String s = in.readLine()

for(int i= 0,n=classes.length()i<ni++){

if(classes[i].equals(s)){

create(i)

}

}

仅仅提供一些参考希望对能给你启发


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11893598.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存