2018-01-10 圖表秃踩、 Vue:v-if與v-show比較、 Asp.Net底層解析-生命周期綜合分析锚扎、iOS定時器吞瞪、javascript使用的兩項原則

第一組:姚成棟 圖表

其實我們的模板中是有圖表的,有折線圖驾孔、柱狀圖和餅圖等等芍秆。

如第六張的折線圖代碼如下

<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)控電量的功能,這可以拆分為三個需求:

  1. 程序需要保持在后臺可以運行怜浅。
  2. 程序需要獲取ipad精確電量铐然。
  3. 需要每隔一段時間掃描一次電量蔬崩,以獲取當(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ù)更新诉探。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末日熬,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子阵具,更是在濱河造成了極大的恐慌碍遍,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件阳液,死亡現(xiàn)場離奇詭異,居然都是意外死亡揣炕,警方通過查閱死者的電腦和手機帘皿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來畸陡,“玉大人鹰溜,你說我怎么就攤上這事《」В” “怎么了曹动?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長牲览。 經(jīng)常有香客問我墓陈,道長,這世上最難降的妖魔是什么第献? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任贡必,我火速辦了婚禮,結(jié)果婚禮上庸毫,老公的妹妹穿的比我還像新娘仔拟。我一直安慰自己,他們只是感情好飒赃,可當(dāng)我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布利花。 她就那樣靜靜地躺著科侈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪炒事。 梳的紋絲不亂的頭發(fā)上臀栈,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天,我揣著相機與錄音羡洛,去河邊找鬼挂脑。 笑死,一個胖子當(dāng)著我的面吹牛欲侮,可吹牛的內(nèi)容都是我干的崭闲。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼刁俭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了韧涨?” 一聲冷哼從身側(cè)響起牍戚,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎虑粥,沒想到半個月后如孝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡娩贷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年第晰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片彬祖。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡茁瘦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出储笑,到底是詐尸還是另有隱情甜熔,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布突倍,位于F島的核電站腔稀,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏赘方。R本人自食惡果不足惜烧颖,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望窄陡。 院中可真熱鬧炕淮,春花似錦、人聲如沸跳夭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至润歉,卻和暖如春模狭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背踩衩。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工嚼鹉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人驱富。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓锚赤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親褐鸥。 傳聞我的和親對象是個殘疾皇子线脚,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,452評論 2 348