我需要實現的功能:小程序在一開始進入的時候,不獲取手機號,在用戶進行一些如點贊,評論,回覆這些操作的時候,再彈出手機號獲取頁面。因爲有非常多的頁面都需要獲取,且獲取手機號傳給後臺的js有三大段,每個頁面寫的話,修改起來太費勁,就用了模板,但是發現模板裏只能帶參數和html,js帶不過去,所以 往下看
1.首先,建立模板文件夾,注意!!!文件夾必須和utils文件夾同級,如果你放在page裏,後面實現功能後,微信開發者裏運行正確,但是真機報錯,且不知道報的什麼錯,反正我排查了很久發現的,如有不對,歡迎指正。
/template/index.wxml:
<template name="mode">
<view class="index_mask" hidden='{{hasUserNum}}' catchtouchmove="move">
<view class="index_mask_box">
<navigator open-type='exit' target='miniProgram'>
<image src="/images/index/close.png"></image>
</navigator>
<view class="text">獲取手機號</view>
<view>
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber" class="mask_btn">確定</button>
</view>
</view>
</view>
</template>
/template/index.wxss:
。。。
/template/index.js:
function init(){
var that = this ;
//這裏是你要帶的data裏的數據
that.setData({
logo: '../../img/logo.png',
a:""
}) ;
//這裏是對應你html裏的點擊事件啊下拉事件等等
that.getPhoneNumber = function(event){
} ;
。。。。
} ;
module.exports = {
init: init
} ;
需要引入的頁面:
index.wxml
<import src="../../template/index.wxml" />
//hasUserNum 參數 因爲我模板裏這個參數是用來顯示和隱藏的 沒有這步的話直接在模板data裏就行了
<template is="mode" data="{{hasUserNum}}" />
index.wxss
@import '../../template/index.wxss';
index.js
var header = require('../../../template/index');
page({
onLoad: function(options) {
//這裏就是把模板裏的js引入了
header.init.apply(this, [])
},
})