小程序 - 提示框
阿新 • • 發佈:2018-04-05
new 請求 點擊 isp success 是否 存在 func 默認
提示框就比較簡單了!(UE)
提示框:
1 var newsData = require(‘../../data/newsdata.js‘);
2 // pages/news/news-detail/news-detail.js
3 Page({
4
5 /**
6 * 頁面的初始數據
7 */
8 data: {
9
10 },
11
12 /**
13 * 生命周期函數--監聽頁面加載
14 */
15 onLoad: function (options) {
16 // 頁面初始化options傳遞帶過來的參數
17 this.setData(newsData.initData[options.newsid]);
18 this.setData({
19 newsid:options.newsid
20 });
21
22 // 第一次進入的適合判斷是否存在本地存儲以及是否收藏
23 var newsCollect =wx.getStorageSync(‘newsCollect‘);
24 // 如果newsCollect存在,則代表以前收藏過或者是以前取消過收藏
25 if (newsCollect){
26 var newCollect = newsCollect[options.newsid];
27 this.setData({
28 collected:newCollect
29 })
30 }else{
31 // 第一次進入,根本不存在數據
32 var newsCollect = {};
33 // 我把當前唯一id扔到newsCollect對象中,然後默認指定false
34 newsCollect[options.newsid]=false ;
35 // 扔到本地存儲中
36 wx.setStorageSync(‘newsCollect‘, newsCollect);
37 }
38 },
39
40 collectTap:function(event){
41 // 獲取所有(註意,這是所有數據的集合)
42 var newsCollect = wx.getStorageSync(‘newsCollect‘);
43 // console.log(this.data.newsid);
44 // 獲取單個(請求到onLoad裏面不同生命周期的options.newsid)
45 var newCollect = newsCollect[this.data.newsid];
46 console.log(newCollect);
47
48 // 點擊時收藏則為不收藏,不收藏則為收藏
49 newCollect = !newCollect;
50
51 // 更新一條數據的集合newCollect,更改所有數據的集合
52
53
54 // 更新到本地存儲中
55 newsCollect[this.data.newsid] = newCollect;
56 wx.setStorageSync(‘newsCollect‘, newsCollect);
57
58 // 不知道視圖怎麽改變
59 this.setData({
60 // collected:newCollect
61 collected: newsCollect[this.data.newsid]
62 });
63
64 wx.showToast({
65 title: newsCollect[this.data.newsid] ? "取消收藏" :"收藏成功!",
66 icon: ‘success‘,
67 duration: 800,
68 mask:true
69 });
70 }
71 })
如果我不想要默認的圖片樣式呢?
等一等,不對吧? 我怎麽收藏與不收藏都是那一個選項(for UE)?
不得不說,三目運算符,很好的幫我們解決了這些問題!
CODE
1 var newsData = require(‘../../data/newsdata.js‘);
2 // pages/news/news-detail/news-detail.js
3 Page({
4
5 /**
6 * 頁面的初始數據
7 */
8 data: {
9
10 },
11
12 /**
13 * 生命周期函數--監聽頁面加載
14 */
15 onLoad: function (options) {
16 // 頁面初始化options傳遞帶過來的參數
17 this.setData(newsData.initData[options.newsid]);
18 this.setData({
19 newsid:options.newsid
20 });
21
22 // 第一次進入的適合判斷是否存在本地存儲以及是否收藏
23 var newsCollect =wx.getStorageSync(‘newsCollect‘);
24 // 如果newsCollect存在,則代表以前收藏過或者是以前取消過收藏
25 if(newsCollect){
26 var newCollect = newsCollect[options.newsid];
27 this.setData({
28 collected:newCollect
29 })
30 }else{
31 // 第一次進入,根本不存在數據
32 var newsCollect = {};
33 // 我把當前唯一id扔到newsCollect對象中,然後默認指定false
34 newsCollect[options.newsid]=false;
35 // 扔到本地存儲中
36 wx.setStorageSync(‘newsCollect‘, newsCollect);
37 }
38 },
39
40 collectTap:function(event){
41 // 獲取所有(註意,這是所有數據的集合)
42 var newsCollect = wx.getStorageSync(‘newsCollect‘);
43 // console.log(this.data.newsid);
44 // 獲取單個(請求到onLoad裏面不同生命周期的options.newsid)
45 var newCollect = newsCollect[this.data.newsid];
46 console.log(newCollect);
47
48 // 點擊時收藏則為不收藏,不收藏則為收藏
49 newCollect = !newCollect;
50
51 // 更新一條數據的集合newCollect,更改所有數據的集合
52
53
54 // 更新到本地存儲中
55 newsCollect[this.data.newsid] = newCollect;
56 wx.setStorageSync(‘newsCollect‘, newsCollect);
57
58 // 不知道視圖怎麽改變
59 this.setData({
60 // collected:newCollect
61 collected: newsCollect[this.data.newsid]
62 });
63 var isStar = ‘../../images/isStar.png‘;
64 var noStar =‘../../images/noStar.png‘;
65 wx.showToast({
66
67 title: newsCollect[this.data.newsid] ? "取消收藏" :"收藏成功!",
68 icon: ‘success‘,
69 image: newsCollect[this.data.newsid] ?noStar:isStar,
70 duration: 800,
71 mask:true
72 });
73 }
74 })
View Code
小程序 - 提示框