H5專案總結

2022-01-14 16:02:10 字數 4739 閱讀 5304

專案基礎:rn ,taro框架,實現h5

1.無限載入的實現

1 import taro,  from '@tarojs/taro'

2 import from '@tarojs/components'3//

import from '@tarojs/redux'4//

import from '@/actions/counter'

5 import from "taro-ui"

6 import fetch from '@/api/request.js'

7 import personnews from '@/components/personnews'

89 import styles from './index.module.scss'

10 import '../staticpic/icon.scss'

1112

13//

時間戳轉換

14function add0(m)

15function

timeformat(timestamp)

2627

//@connect(state => state.counter, )

28class newsinform extends component

3334

35 state =

5253

//慎用

54componentwillreceiveprops(nextprops)

57componentdidshow () ) // 通過key判斷是平台的訊息,從url獲得跳轉到訊息詳情的id然後在訊息頁面回顯

63 .then(res => this

.setstate() // 設定訊息詳情的資料到全域性

65if ( i.msgid ==res.data)

68return

i;69

})70

}))71 console.log(this.state.listplatform, '返回的資料之後');

72 } else

if (this.state.selecttabtype === 1) )

75 .then(res => this

.setstate(

80return

i;81

})82

})) 83}

8485

8687}88

componentdidmount ()

9697

//請求課程訊息的資料

98 courseclick = () =>).then((res) =>)

110if (res.length <= 5) )

114}

115})

116}

117118

//請求平台訊息的資料

119pageclick() )

124 fetch('getplatformmsg', ).then((res) =>)

135if (res.length <= 5) )

139}

140})

141}

142143

//課程訊息點選事件

144coursenewsclick() )

150}

151//

平台訊息點選事件

152platnewsclick() )

158}

159160

//請求課程訊息總數

161coursemsgcount () ).then((res) =>)

169})

170}

171172

//平台訊息總數

173coursemsgcount () ).then((res) =>)

181})

182}

183//

請求未讀訊息

184courseunreadmsgcount () ).then((res) =>)

192})

193}

194//

平台未讀訊息

195msgunreadcount () ).then((res) =>)

203})

204}

205206 godetails(id) &type=$`,

210})

211}

212213 goback() )

215}

216 loadclick = () =>)

226 fetch('getplatformmsg', ).then((res) =>)

237 } else

)246

}247

})248

}249 } else

if (this.state.selecttabtype === 1) )

258 fetch('getcoursemsg', ).then((res) =>)

270 } else

)279

}280

})281

} 282

}283

//判斷是否單次載入完畢

284285

//判斷是否全部載入完畢

286287

//設定為請求狀態

288289

//請求資料

290291

//設定請求狀態(單次完成 or 全部載入完畢)

292293

//設定資料到對應的容器

294}

295296

297298

render()

303 let styleobj2 =

306307 let maplistdata = ; //

對容器的資料進行篩選

308if (this.state.selecttabtype === 0) else

if (this.state.selecttabtype === 1)

313314

315return

(316

317318

319this.platnewsclick.bind(this)}>float:'left',paddingleft:'21px',color:'#666'}} onclick=>

320 平台訊息}

321this.coursenewsclick.bind(this)}>課程訊息}

322323

324scrolly

325scrollwithanimation

326 scrolltop='0'

327 style=}

328 lowerthreshold='20'

329 upperthreshold='20'

330 onscrolltolower=

331 hidden=

332 >

333 />

337})

338}

339this.state.status} nomoretextstyle=} nomoretext='已無更多訊息' morebtnstyle=}

354 />

355356

357358scrolly

359scrollwithanimation

360 scrolltop='0'

361 style=}

362 lowerthreshold='20'

363 upperthreshold='20'

364 onscrolltolower=

365 hidden=

366 >

367 />

371})

372}

373this.state.statuscourse} nomoretextstyle=} nomoretext='已無更多訊息' morebtnstyle=}

388 />

389390

391)

392}

393}

394395 export default newsinform

// index.module.scss檔案是sass形式存在,想不用

classname=想用classname='content'就需要用到:global{}來實現。

2.元件的開發和引入

import taro, from '@tarojs/taro'

import from '@tarojs/components'

import styles from './index.module.scss'

import spot from './spot.png'

export default class feed extends component )}

}*注意onevent必須是帶on,taro框架限制了這一點;

3.資料需要共享的時候用的方法-----看黃色標註文字

*注意檔案的層級關係最好同級,不然報錯找不到;

4.週末繼續補充

鏈家H5專案總結

在此次專案中,使用的是高度百分比。對於適配這一塊確實少了很多。1 如果是用高度百分比的話。則img需要寫成這樣的樣式。img 如果需要居中的話,可以對外層的div設定乙個類名class 比如是setwidth,然後通過js去獲取第一張的寬度賦給這個外層的div.setwidth function 不...

前端H5專案問題總結

一 img 併排放置時,會出現空白間隙 解決方法 1 將轉換為塊級物件 img 2 設定的垂直對齊方式 img 3 改變父物件的屬性 overflow hidden 4 取消標籤和其父物件的最後乙個結束標籤之間的空格 二 二級列表頁面 1 樣式最好一致,方便後台 迴圈上傳 三 手機端 fixed 失...

vue中h5專案怎麼使用weui

注 專案使用vue cli腳手架,最新版腳手架建立專案參考這裡 安裝weui js檔案和css檔案 cnpm i weui.js weui s在main.js中新增如下 import weui from weui.js import weui vue.prototype.weui weui具體可以檢...