미니 프로그램이 퍼블릭 베타 버전으로 출시된 이후, 이미 많은 친구들이 미니 프로그램 등록을 위해 서둘러 신청한 것으로 알고 있습니다. 개발 단계에서 우리는 wx.request 데이터 요청이 실패하는 등 많은 문제에 직면했습니다. 배열 작업 중에 데이터를 배열에 푸시하는 방법, 입력이 사용자 입력 상태를 모니터링하는 방법 및 배경을 알지 못했습니다. -CSS 이미지로 인해 로컬 리소스 등을 얻을 수 없습니다. 이 블로그에서는 이러한 문제에 직면한 친구들에게 솔루션을 제공하기 위한 특별한 주제를 다룰 것입니다.
오늘 주로 다룰 내용은 배열 연산입니다.
vuejs, reactjs 및 기타 mvvm프레임워크를 사용해 본 어린이들에게는 WeChat 애플릿의 배열 작업이 매우 간단하다고 생각합니다. 원칙은 동일합니다.
이것은 git에 업로드된 간단한 데모입니다. 허브에서는 누구나 직접 다운로드할 수 있습니다. 배열에 새로운 데이터를 앞뒤로 삽입하고, 배열을 수정하고, 배열을 삭제하고, 배열을 지우는 등 배열에서 일반적으로 사용되는 몇 가지 작업 방법에 대해 주로 설명하겠습니다. 학습을 위한 아이디어.
데모 배열 작업 예시 경로:/pages/<a href="http://www.php.cn/wiki/1041.html" target="_blank">array <br>/array.w</a><a href="http://www.php.cn/wiki/1527.html" target="_blank">xml<code>/pages/<a href="http://www.php.cn/wiki/1041.html" target="_blank">array</a>/array.w<a href="http://www.php.cn/wiki/1527.html" target="_blank">xml</a>
Page({ data: { list:[{ id:1, name:'应季鲜果', count:1 },{ id:2, name:'精致糕点', count:6 },{ id:3, name:'全球美食烘培原料', count:12 },{ id:4, name:'无辣不欢生猛海鲜', count:5 }] } })
일부 데이터를 초기화하고 목록에 새 데이터를 추가해야 하며 <code><a href="http://www.php.cn/wiki/48.html" target="_blank">JavaScript</a> concat()
JavaScriptconcat()
concat() 메서드를 사용해야 합니다.
방법은 두 개 이상의 배열을 결합하는 데 사용됩니다. 이 방법은 기존 배열을 변경하지 않습니다. 실제로 데이터를 앞뒤로 삽입하는 것에 대해 this.<a href="http://www.php.cn/code/8209.html" target="_blank">set</a>Data()
실제로 말하는 것은 두 개의 배열을 결합하여 새로운 배열을 만든 다음 이것을 사용한다는 것입니다.<a href="http://%20www.php.cn/code/8209.html" target="_blank">설정<br>Data()</a>
를 페이지에 렌더링합니다.
삽입 데이터 포워드 데모
//向前增加数据 add_before:function (){ //要增加的数组 var newarray = [{ id:6, name:'向前增加数据--'+new Date().getTime() , count:89 }]; //使用concat()来把两个数组合拼起来 this.data.list = newarray.concat(this.data.list); //将合拼之后的数据,发送到视图层,即渲染页面 //大伙请记录,修改了数据后,一定要再次执行`this.setData()`,页面才会渲染数据的。 this.setData({ 'list': this.data.list }); }삽입 데이터 백워드 데모
//向后增加数据 add_after:function (){ //要增加的数组 var newarray = [{ id:5, name:'向后增加数据--'+new Date().getTime() , count:89 }]; this.setData({ 'list':this.data.list.concat(newarray) }); },
concat()
조심스러운 친구들은 그걸 발견해야 합니다. 이 두 단락의 데이터를 결합하려면 연결 괄호 안의 데이터가 다릅니다. 데이터를 앞으로 삽입하는 것과 뒤로 삽입하는 것의 차이점이 여기에 있습니다. //假设这一段是我们要新增的数组 var newarray = [{ id:5, name:'向后增加数据--'+new Date().getTime() , count:89 }]; //向前--用newarray与this.data.list合拼 this.data.list = newarray.concat(this.data.list); //向后--用this.data.list与newarray合拼 this.data.list = this.data.list.concat(newarray);
뭔가 추가, 변경, 삭제된 경우 삭제해야 합니다. JavaScript splice()
삭제에는 splice()
메서드가 필요합니다.
//修改数组 edit:function (e){ //这个参数“e”的具体作用,请参考微信小程序官方提供的说明,地址为https://mp.weixin.qq.com/debug/wxadoc/dev/framework/view/wxml/event.html?t=20161107 var dataset = e.target.dataset; var Index = dataset.index; //在通过在wxml页面里使用 data-index="{{index}}"传递过来的,是为识别正在编辑修改哪个数组。 //我们要修改的数组 this.data.list[Index].name = '修改了内容'+new Date().getTime(); //将合拼之后的数据,发送到视图层,即渲染页面 //大伙请记录,修改了数据后,一定要再次执行`this.setData()`,页面才会渲染数据的。 this.setData({ list:this.data.list }); }
//删除 remove:function (e){ var dataset = e.target.dataset; var Index = dataset.index; //通过`index`识别要删除第几条数据,第二个数据为要删除的项目数量,通常为1 this.data.list.splice(Index,1); //渲染数据 this.setData({ list:this.data.list }); }
위 내용은 WeChat 애플릿은 배열 작업을 학습합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!