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