최근 그룹에서 작은 프로그램을 개발할 때 프런트엔드에서 한 번도 변하지 않은 주제를 만났습니다: 페이지 값 전달
문제를 해결하기 위해 경로 매개변수 전달을 사용하기 시작했습니다. 하지만 우리 모두 알고 있듯이
브라우저마다 HTTP Get 요청 URL의 최대 길이가 다릅니다. 일반적으로 사용되는 여러 브라우저의 최대 길이와 최대 길이를 초과한 후의 제출 상황은 다음과 같습니다. :
IE6.0: URL의 최대 길이는 2083자이며, 최대 길이를 초과하면 제출할 수 없습니다.
IE7.0: URL의 최대 길이는 2083자이며, 최대 길이를 초과한 후에도 제출할 수 있지만 2083자만 전달할 수 있습니다.
firefox 3.0.3: 최대 URL 길이는 7764자입니다. 최대 길이를 초과하면 제출할 수 없습니다.
Opera 9.52: URL의 최대 길이는 7648자이며, 최대 길이를 초과하면 제출할 수 없습니다.
Google Chrome 2.0.168: URL의 최대 길이는 7713자이며, 최대 길이를 초과하면 제출할 수 없습니다.
그래서 믿음직스럽지 못한 것 같아요.
공식 웹사이트를 조사한 결과 이를 "더 우아하게" 수행하는 두 가지 방법이 있다는 것을 발견했습니다. 물론 이는 vuex/flux와 비교할 수 없습니다.
프로젝트에 정의된 전역 변수
사용 app.js
globalData
App({ globalData:{ userInfo:'angeladaddy' } });
필요한 경우 사용:
getGlobalVar:function(){ var that=this; that.setData({ globalvar_str:JSON.stringify(getApp().globalData) }) }
물론 그럴 수도 있습니다. 언제든지 할당됨:
onLoad:function(options){ getApp().globalData.userInfo+=' is an awesome man'; },
효과:
2. 사용 template
공식 소개에 따르면:
"duang~~~"으로 페이지 값 전송 문제를 해결합니다먼저 템플릿을 정의하고 name 속성
<template name="msgItem"> <view> <text> {{index}}: {{msg}} </text> <text> Time: {{time}} </text> </view> </template>를 사용한 다음 템플릿
- 을 사용합니다. 🎜>is 속성을 사용하고 사용해야 하는 템플릿을 선언한 다음 템플릿에 필요한 데이터를 전달합니다.
<template is="msgItem" data="{{...item}}"/>템플릿 데이터를 표시하려면 항목에 값을 할당하세요.
Page({ data: { item: { index: 0, msg: 'this is a template', time: '2016-09-15' } } })
추첨: 작은 프로그램에서는 ES6의 모든 기능을 사용할 수 있으므로, 저 var that=this는 도대체 뭐죠? 범위 문제를 해결하기 위해 화살표 기능을 사용할 수 없는 이유는 무엇입니까? 돌아와서 다시 시도해 보세요.[관련 추천]1. 3.
위 내용은 WeChat 미니 프로그램의 페이지 값 전송에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!