第一組:姚成棟 圖表
其實我們的模板中是有圖表的,有折線圖驾孔、柱狀圖和餅圖等等芍秆。
如第六張的折線圖代碼如下
<div ui-jq="plot" ui-options="
[
{ data: {{d0_1}}, label: 'A', points: { show: true }, lines: { show: true, fill: true, fillColor: { colors: [{ opacity: 0.1 }, { opacity: 0.1}] } } },
{ data: {{d0_2}}, label: 'B', points: { show: true, radius: 4 } }
],
{
colors: [ '{{app.color.info}}','{{app.color.warning}}' ],
series: { shadowSize: 2 },
xaxis:{ font: { color: '#ccc' } },
yaxis:{ font: { color: '#ccc' } },
grid: { hoverable: true, clickable: true, borderWidth: 0, color: '#ccc' },
tooltip: true,
tooltipOpts: { content: '%s of %x.1 is %y.4', defaultTheme: false, shifts: { x: 0, y: 20 } }
}
" style="height:240px"></div>
</div>
其中數(shù)據(jù)如下:
如果想要改成柱狀圖只需在上面的html代碼fillColor屬性中加入:
bars: { show: true, barWidth: 0.6, fillColor: { colors: [{ opacity: 0.5 }, { opacity: 0.9}] } }
第二組:徐晉 Vue:v-if與v-show比較
1. 共同點
都是動態(tài)顯示DOM元素
2. 區(qū)別
(1)手段:v-if是動態(tài)的向DOM樹內(nèi)添加或者刪除DOM元素;v-show是通過設(shè)置DOM元素的display樣式屬性控制顯隱翠勉;
(2)編譯過程:v-if切換有一個局部編譯/卸載的過程妖啥,切換過程中合適地銷毀和重建內(nèi)部的事件監(jiān)聽和子組件;v-show只是簡單的基于css切換对碌;
(3)編譯條件:v-if是惰性的荆虱,如果初始條件為假,則什么也不做朽们;只有在條件第一次變?yōu)檎鏁r才開始局部編譯(編譯被緩存怀读?編譯被緩存后,然后再切換的時候進行局部卸載); v-show是在任何條件下(首次條件是否為真)都被編譯骑脱,然后被緩存菜枷,而且DOM元素保留;
(4)性能消耗:v-if有更高的切換消耗叁丧;v-show有更高的初始渲染消耗啤誊;
(5)使用場景:v-if適合運營條件不大可能改變岳瞭;v-show適合頻繁切換。
Tips:(1)如果v-show作用的元素蚊锹,css文件中display:none瞳筏,通過v-show進行設(shè)置不能顯示該元素;
原因:v-show控制顯隱牡昆,是通過js代碼去修改元素的element style姚炕,如果value為false,設(shè)置display: none;如果value為true迁杨,設(shè)置display: ''钻心;于是value為true時,只能將element style中的display效果清除铅协,并不能覆蓋css中的display效果;
如下圖所示摊沉,value=true時狐史,v-show改變的是element.style,由于無效说墨,顯示效果由css文件中的display決定骏全。
解決辦法:使用v-show的話,在vue解析之前隱藏DOM的話尼斧,盡量在style屬性里面設(shè)置display的值姜贡,不要在css文件中。
<ul v-touch:tap="message=2" style="display: none" v-show="show">
第三組:蔡永堅 Asp.Net底層解析-生命周期綜合分析
經(jīng)過對ASP.NET的生命周期的較詳細(xì)了解后棺棵,不得不承認(rèn)楼咳,微軟在ASP.NET上的設(shè)計是非常精妙的,從ASPX頁面源代碼經(jīng)過頁面周期烛恤、各個服務(wù)器控件的生命周期母怜,最終轉(zhuǎn)化為html代碼。這些生命周期的各個階段功能相對獨立缚柏、明確苹熏,ASP.NET開發(fā)者可以通過在特定階段添加相關(guān)代碼,以達(dá)到特定的目的币喧。下面將頁面生命周期與服務(wù)器控件生命周期在一張圖上(從MSDN中復(fù)制)綜合展示:
從上面的示圖可以教完整地反映整個頁面生命周期(控件的生命周期包含在頁面周期之中)的執(zhí)行流程轨域,調(diào)用某些方法之后觸發(fā)對應(yīng)的生命周期事件,標(biāo)志開始進入下一個生命周期階段杀餐。
第四組:張元一 iOS定時器
EFB項目中干发,需要實現(xiàn)后臺持續(xù)監(jiān)控電量的功能,這可以拆分為三個需求:
- 程序需要保持在后臺可以運行怜浅。
- 程序需要獲取ipad精確電量铐然。
- 需要每隔一段時間掃描一次電量蔬崩,以獲取當(dāng)前有效的電量。
之前文章實現(xiàn)了需求一搀暑、二沥阳,本文先討論需求三的實現(xiàn):
創(chuàng)建一個NSTimer變量,每隔25s自点,執(zhí)行一次getbatterylevel函數(shù)桐罕,
-(NSTimer *)timer{
if (!_timer) {
_timer = [NSTimer scheduledTimerWithTimeInterval:25.0 target:self selector:@selector(getbatterylevel) userInfo:nil repeats:YES];
}
return _timer;
}
在程序進入后臺時,啟動Timer:
#pragma mark - 程序進入后臺
- (void)applicationDidEnterBackground:(UIApplication *)application {
//開啟定時器 不斷向系統(tǒng)請求后臺任務(wù)執(zhí)行的時間
[self.timer fire];
}
獲取電量并存儲在變量中
-(void)getbatterylevel {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"HH:mm:ss"];
NSDate *datenow = [NSDate date];
NSString *nowtimeStr = [formatter stringFromDate:datenow];
NSString *str = self.textViewString;
self.textViewString = [NSString stringWithFormat:@"%@ level is: %.f%% \n%@ ",nowtimeStr,[UIDevice currentDevice].batteryLevel*100,str];
NSLog(@" self.textViewString %@",self.textViewString);
self.myVC.batteryLevellb.text = [NSString stringWithFormat:@"CurrentBatteryLevel:%.f%%",[UIDevice currentDevice].batteryLevel*100];
self.myVC.textview.text = self.textViewString;
}
本項目demo的GitHub地址:
https://github.com/Frued/BatteryLevel
第五組:陳孚楠 javascript使用的兩項原則(接上文)
Hijax桂敛,即漸進增強的Ajax功炮,也被稱為“簡化的Ajax”,也是hijack(劫持)的意思术唬,也可直接理解成保存和操縱歷史的Ajax薪伏,Hijax是由Jeremy Keith(杰里米基斯)提出來的。
DOM Scripting: Hijax
主要原理:
傳統(tǒng)Web的表單提交和鏈接方式都會重新刷新加載整個頁面粗仓,這樣會造成內(nèi)容和資源的重復(fù)加載嫁怀,對服務(wù)器造成壓力和浪費。
Hijax的原理是“劫持”表單提交和URL鏈接借浊,然后通過Ajax獲取數(shù)據(jù)后局部更新DOM及內(nèi)容塘淑,從而減少帶寬消耗和服務(wù)器壓力,避免頁面刷新帶來的閃爍感和重復(fù)感蚂斤,改善用戶瀏覽體驗存捺。如果客戶端不支持JS或XMLHttpRequest,則表單和鏈接會按傳統(tǒng)方式提交和跳轉(zhuǎn)曙蒸。
HTML5的History API能更好的實現(xiàn)這樣的功能捌治,且更新URL地址時頁面不刷新,支持瀏覽器后退和前進按鈕逸爵,這個時候你也可以直接理解成History+Ajax具滴。
5.5 Session history and navigation
Manipulating the browser history
優(yōu)點:
1、改善用戶瀏覽體驗师倔,避免頁面刷新帶來的閃爍感和重復(fù)感构韵;
2、減少服務(wù)器壓力和帶寬浪費趋艘。
缺點:
似乎只有一點疲恢,對搜索引擎不友好,不過Google的爬蟲會索引這樣的URL格式瓷胧,即由一個由井號和嘆號構(gòu)成的URL字符串(#!)显拳,稱為Shebang(也稱為Hashbang),我們在Shell和Python會經(jīng)炒晗簦看到這樣的字符串杂数,通過程序解析字符串并加載相應(yīng)的模塊或內(nèi)容宛畦。不過HTML5的History API不需要這樣的URL格式,直接使用傳統(tǒng)URL格式就可以了揍移〈魏停基于HTML5的History API的Hijax是更好的Hijax。
個人理解:
當(dāng)瀏覽器支持ajax 時 那伐,只需要將相應(yīng)參數(shù)傳遞給要更新的模塊頁面踏施,得到該模塊產(chǎn)生的html,由javascript 的 innerHTML 局部刷新該模塊所在區(qū)域罕邀。
當(dāng)瀏覽器不支持ajax時畅形,則相應(yīng)參數(shù)傳遞給整個頁面刷新,相應(yīng)模塊讀取參數(shù)更新诉探。