이번에는 mpvue로 작은 프로그램을 개발하는 단계에 대해 자세히 설명하겠습니다. mpvue로 작은 프로그램을 개발할 때 주의 사항은 무엇인가요?
Vue 자체의 라이프 사이클 외에도 mpvue는 미니 프로그램의 라이프 사이클과도 호환됩니다. 라이프 사이클의 이 부분은 WeChat 페이지에서 나옵니다. 미니 프로그램입니다. 특별한 경우를 제외하고는 미니 프로그램의 라이프 사이클 후크를 사용하는 것이 좋습니다.
onshow, 애플릿이 시작될 때, 또는 백그라운드에서 프런트 데스크에 들어가서 표시
onhide, 애플릿이 프런트 데스크에서 배경으로 들어갈 때 부분 :
new Vue({ data: { a: 1 }, created () { // `this` 指向 vm 实例 console.log('a is: ' + this.a) }, onShow () { // `this` 指向 vm 实例 console.log('a is: ' + this.a, '小程序触发的 onshow') } }) // => "a is: 1"
은 순수 HTML을 지원하지 않습니다.
애플릿의 모든 BOM/DOM을 사용할 수 없습니다. 즉, v-html 명령이 사용할 수 없습니다.렌더링 부분이 wxml로 변환됩니다. wxml은 필터를 지원하지 않으므로 이 부분은 지원되지 않습니다.
은 기능을 지원하지 않습니다.
목록 렌더링
중첩 목록 렌더링의 경우 다른 인덱스를 지정해야 한다는 것입니다!
<!-- 在这种嵌套循环的时候, index 和 itemIndex 这种索引是必须指定,且别名不能相同,正确的写法如下 --> <template> <ul v-for="(card, index) in list"> <li v-for="(item, itemIndex) in card"> {{item.value}} </li> </ul> </template>
입력 및 텍스트 영역의 변경 이벤트가 블러 이벤트로 변환됩니다.
@regionchange로 직접 변경합니다. 이벤트 유형도 매우 특별합니다.
<map @regionchange="functionName" @end="functionName" @begin="functionName"><map>
小程序能力所致,bind 和 catch 事件同时绑定时候,只会触发 bind ,catch 不会被触发,要避免踩坑。
事件修饰符
- .stop 的使用会阻止冒泡,但是同时绑定了一个非冒泡事件,会导致该元素上的 catchEventName 失效!
.prevent 可以直接干掉,因为小程序里没有什么默认事件,比如submit并不会跳转页面
.capture 支持 1.0.9
.self 没有可以判断的标识
.once 也不能做,因为小程序没有 removeEventListener, 虽然可以直接在 handleProxy 中处理,但非常的不优雅,违背了原意,暂不考虑
其他 键值修饰符 等在小程序中压根没键盘,所以。。。
有且只能使用单文件组件(.vue 组件)的形式进行支持。其他的诸如:动态组件,自定义 render,和