위 챗 애플 릿 학습 wxs 사용 강좌
wxs(WeiXin Script)는 작은 프로그램의 스 크 립 트 언어 로 WXML 과 결합 하여 페이지 구 조 를 구축 할 수 있 습 니 다.
wxs 태그
<wxs module="utils" src="../../wxs/test.wxs"></wxs>
module 속성:현재 탭 의 모듈 이름 은 이 값 이 유일 하 다 는 것 을 권장 합 니 다.같은 이름 의 모듈 이름 이 존재 하면 선착순 으로 덮어 씁 니 다(후 자 는 전 자 를 덮어 씁 니 다).
src 속성:
a.wxs 파일 만 참조 할 수 있 고 상대 경로 여야 합 니 다.
b.wxs 모듈 은 모두 하나의 예 입 니 다.wxs 모듈 은 처음 인 용 될 때 하나의 예 대상 으로 자동 으로 초기 화 됩 니 다.여러 페이지,여러 곳,여러 번 사용 되 고 같은 wxs 모듈 대상 을 사용 합 니 다.
c.wxs 모듈 이 정 의 된 후에 계속 인용 되 지 않 으 면 이 모듈 은 해석 되 고 실행 되 지 않 습 니 다.
wxs 모듈
wxs 코드 는 wxml 파일 의 탭 이나.wxs 를 접미사 로 하 는 파일 에 작성 할 수 있 습 니 다.(위 챗 개발 자 도구 에서 오른쪽 단 추 를 누 르 면.wxs 파일 을 직접 만 들 고 wxs 스 크 립 트 를 직접 작성 합 니 다)
쓰기 1 은 다음 과 같다.
// test.wxml
<wxs module="utils">
module.exports = {
msg: 'hello world'
}
</wxs>
<view> {{utils.msg}}</view>
// : hello world
쓰기 2 는 다음 과 같다.
// text.wxml
<wxs module="utils" src="../../common/wxs/test.wxs"></wxs>
//
// <wxs module="utils" src="../../common/wxs/test.wxs" />
<view> {{utils.msg}}</view>
// test.wxs
module.exports = {
msg: 'hello world'
}
wxs 코드 는 일반적으로.wxs 파일 에 쓰 는 것 을 권장 합 니 다.모듈 설명
4.567917.만약 에 한 모듈 이 내부 의 개인 변수 와 함 수 를 대외 적 으로 노출 하려 면 module.exports 를 통 해 만 이 루어 질 수 있 습 니 다.4.567918.
Q1:같은 wxml 에 여러 개의 wxs 를 도입 하면 같은 이름 의 변수 or 함수 가 존재 한다 면 어떤 표현 일 까요?
// test.wxml
<wxs module="utils" src="../../wxs/test.wxs"></wxs>
<wxs module="utils1" src="../../wxs/test1.wxs"></wxs>
<view> {{utils.msg}} + {{utils.say()}}</view>
<view> {{utils1.msg}} +{{utils1.say()}}</view>
// test.wxs
module.exports = {
msg: 'hello test.wxs',
say: function (){
return 'test.wxs say()'
}
}
// test1.wxs
module.exports = {
msg: 'hello test1.wxs',
say: function (){
return 'test1.wxs say()'
}
}
//
// hello test.wxs + test.wxs say()
// hello test1.wxs + test1.wxs say()
검증 을 통 해 모든 모듈 은 독립 적 인 역할 영역 이 있 음 을 발견 하 였 다.Q2:.wxs 모듈 에 다른 wxs 파일 모듈 을 도입 하려 면 어떻게 해 야 합 니까?
require 함수 통과 하기
// test.wxs
var test1 = require('./test1.wxs')
module.exports = {
msg: 'hello test.wxs',
say: function (){
console.log(test1.msg)
return 'test.wxs say()'
}
}
//
// [WXS Runtime info] hello test1.wxs
wxs 주석
// wxml
<wxs module="utils">
// .wxs-
/**
* .wxs-
*/
/*
var a = 1
</wxs>
상기 예 에서 모든 wxs 코드 가 주석 되 었 고 세 번 째 쓰 기 는 비교적 드 물 며 공부 할 때 손 쉽게 기록 하 는 것 을 보 았 다..wxs 파일 이 라면 한 줄&여러 줄 두 가지 주석 만 있 습 니 다.
기초 지식
덧셈 연산(+)은 문자열 의 조합 으로 사용 합 니 다.
<wxs module="utils">
module.exports = {
getnum: function () {
var a = 10
var b = 20
var str = a + '+' + b + '=' + (a+b)
return str
}
}
</wxs>
<view>{{utils.getnum()}}</view>
'맞 춤 연산 자'를 사용 할 수 없습니다.그렇지 않 으 면 잘못 보고 할 수 있 습 니 다.wxs 는 현재 다음 과 같은 몇 가지 데이터 형식 을 지원 합 니 다.
number(수치),string(문자열),boolean(불 값),array(배열),object(대상),function(함수),date(날짜),regexp(정규)
wxs 데이터 형식 에 null/undefined 가 없습니다.
date 대상 을 만 들 려 면 getDate()를 사용 하여 현재 시간의 대상 을 되 돌려 야 합 니 다.
<wxs module="utils">
module.exports = {
getNowTime: function () {
return getDate()
}
}
</wxs>
<view>{{utils.getNowTime()}}</view>
//
// Sat May 01 2021 14:42:57 GMT+0800 ( )
new Date()를 사용 할 수 없습니다.오류 가 발생 할 수 있 습 니 다.es6 문법 은 지원 되 지 않 습 니 다.재 구성 같은 화살표 함 수 는 지원 되 지 않 습 니 다.
let/const 를 사용 하여 변 수 를 설명 할 수 없고 var 를 사용 해 야 하 며 변수 가 증가 합 니 다.
<wxs module="utils">
module.exports = {
getnum: function () {
let a = 10
return a
}
}
</wxs>
<view>{{utils.getnum()}}</view>
응용 장면
일반적으로 백 엔 드 가 전단 에 되 돌아 오 는 것 은 시간 스탬프 형식 이지 만,우 리 는 원 하 는 시간 형식 으로 처리 해 야 합 니 다.예 를 들 어 yyy-mm-dd,이때 우 리 는 wxs 로 시간 변환 함 수 를 호출 할 수 있 습 니 다.
아마도 누군가가 물 어 볼 것 이다.js 에서 하나의 함수 로 데 이 터 를 포장 한 다음 에 페이지 에 출력 해도 되 지 않 겠 는가?답 은 실행 가능 하 다.단지 네가 상대 적 으로 더 우수 하 다 고 생각 하 는 것 을 추구 하고 있 을 뿐이다.
<wxs module="utils">
module.exports = {
formatTime: function (timeStamp) {
var now = getDate(parseInt(timeStamp))
var year = now.getFullYear()
var month = now.getMonth()+1
month = month < 10 ? '0' + month: month
var day = now.getDate()
day = day < 10 ? '0' + day :day
return year + '-' + month + '-' + day
}
}
</wxs>
<view>{{utils.formatTime(1619852841428)}}</view>
//
// 2021-05-01
때로는 배경 에서 돌아 오 는 네트워크 그림 주 소 는 상대 적 인 경로 이 고,때로는 완전한 그림 경로 이다.그림 을 표시 하려 면 설 정 된 도 메 인 이름 접 두 사 를 붙 여야 한다.
<wxs module="utils">
module.exports = {
getImg: function (url = '') {
var origin = 'https://xxx.com'
if (url.indexOf('https') !== -1 || url.indexOf('http') !== -1) {
return url
} else {
return origin + url
}
}
}
</wxs>
<image src="{{utils.getImg('/a.png')}}"></image>
// src
// https://xxx.com/a.png
구덩이 밟 기 기록wxml 에서 호출 할 때 컴 파일 을 사용 하여 expected LineFeed 가 나 타 났 습 니 다.
솔 루 션:ES6 의 물건 을 모두 ES5 로 바 꾸 고 var 로 설명 합 니 다.
총결산
위 챗 애플 릿 학습 의 wxs 사용 튜 토리 얼 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 위 챗 애플 릿 wxs 사용 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
OpenSSL 생 성 ssl 인증서텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.