一: 參數傳值的方法
1: data -id
我們可以為HTML元素新增data-*屬性來傳遞我們需要的值,使用方法說明:
(1)設定data-id
<view class="block" bindtap="playTap" data-id="{{modle.id}}">
(2): 取值+ 傳值
playTap:function(e) { const dataset = e.currentTarget.dataset; wx.navigateTo({ url: '../play/index?id='+ dataset.id }) console.log(dataset.id); }
(3):取值
onLoad:function (param) { //页面初始化 this.setData({ currentId:param.id }) }
data-注意事項:data-名稱不能有大寫字母,曾經我就因為大寫了一個字母,找了半天的才發現這個錯誤..data-*屬性中不可以存放對象
2: 設定id 的方法標識來傳值
使用方法說明:
(1)設定id
<view bindtap=“playTap" id="{{modle.id}}">
(2)取值
透過e.currentTarget. id取得設定的id的值,然後透過設定全域物件的方式來傳遞數值
3: 在navigator中加入參數傳值
使用方法說明
(1)傳值:在navigator的屬性url後拼接?id(參數名字)=要傳遞的值(如果多個參數用&分開&name=value&…….)
<navigator url="../my/my?id={{item.id}}" wx:for="{{modles}}">
(2)取值:
onLoad (params){ app.fetch(API.detail + params.id,(err,data) => { }) }
二:資料請求封裝
1.將所有的介面放在統一的js檔案中並匯出
const api = { interface1: 'https://........', interface2: 'https://.......', interface3: 'https://....', ..... } module.exports = api;
2 :在app.js中建立封裝請求資料的方法
fetch(url,data, callback) { wx.request({ url, data: data, header: { 'Content-Type': 'application/json' }, success(res) { callback(null, res.data); }, fail(e) { callback(e); } }) },
3: 在子頁面中呼叫封裝的方法請求資料
import API from "../../api/api.js"; const app = getApp(); const conf = { data:{ title:'正在拼命加载中...', loadding:true }, onLoad (){ app.fetch(API.hot,{},(err,data) => { }) }
三:使用範本(發現範本真是個好東西哦!)
1:定義範本:name設定範本的名字
<template name="homecell"> <view class="item"> </view> </template>
2:使用範本
先引入範本
<import src="../../commonXml/homecell.wxml" />
然後使用範本is後寫模板的name..透過data來傳遞需要是資料
<template is="homecell" data="{{item}}"></template>
四:Array比較好用的屬性和方法
Array.isArray() 方法用來判斷某個值是否為Array。 #forEach() 方法對陣列的每個元素執行一次提供的函數(回呼函數)。
keys() 方法傳回一個陣列索引的迭代器。
map() 方法傳回一個由原始數組中的每個元素呼叫一個指定方法後的返回值組成的新數組
pop() 方法刪除一個數組中的最後的一個元素,並且傳回這個元素。
push() 方法將一個或多個元素新增到陣列的結尾,並傳回陣列新的長度(length 屬性值)。
toString() 傳回字串,表示指定的陣列及其元素。
五:物件Object常用方法
1 初始化方法
var obj = []; var obj = new obj(); var obj = Object.create(null);
2 新增元素的方法
dic[“key”] = “value”;
#3 刪除key的方法
delete dic[“key”];
4 清除單字所有項目
dic.clear();
5 刪除
delete dic;
#6 查看所有屬性的方法
Object.keys(obj);
物件的所有鍵名都是字串,所以加不加引號都可以,如果鍵名是數值,會被自動轉為字串但是,如果鍵名不符合識別名的條件(例如第一個字元為數字,或含有空格或
運算子),也不是數字,則必須加上引號,否則會報錯
7 讀取屬性
obj.name || obj['name']
注意: 數值鍵名不能使用點運算子(因為會被當成小數點),只能使用方括號運算子。
8 檢查
變數是否宣告
if(obj.name) || if(obj['name'])
9 in 運算子用於檢查物件是否包含某個屬性,如果包含回傳true,否則回傳falseif ( ‘x' in obj) {return 1}
10 for … in
迴圈用來遍歷一個物件的全部屬性
for (var i in obj) { console.log(obj); }
作用: 操作同一個物件的多個屬性時,提供一些書寫的方便
with(obj) { name1 = 1; name2 = 2; }
等同於
bj.name1 = 1; obj.name2 = 2;
以上是微信小程式開發的一些經驗的詳細內容。更多資訊請關注PHP中文網其他相關文章!