<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        Bootstrap與KnockoutJs相結合實現分頁效果實例詳解_javascript技巧

        來源:懂視網 責編:小采 時間:2020-11-27 21:49:53
        文檔

        Bootstrap與KnockoutJs相結合實現分頁效果實例詳解_javascript技巧

        Bootstrap與KnockoutJs相結合實現分頁效果實例詳解_javascript技巧:KnockoutJS是一個JavaScript實現的MVVM框架。非常棒。比如列表數據項增減后,不需要重新刷新整個控件片段或自己寫JS增刪節點,只要預先定義模板和符合其語法定義的屬性即可。簡單的說,我們只需要關注數據的存取。 一、引言 由于最近公司的系統需要改版,改
        推薦度:
        導讀Bootstrap與KnockoutJs相結合實現分頁效果實例詳解_javascript技巧:KnockoutJS是一個JavaScript實現的MVVM框架。非常棒。比如列表數據項增減后,不需要重新刷新整個控件片段或自己寫JS增刪節點,只要預先定義模板和符合其語法定義的屬性即可。簡單的說,我們只需要關注數據的存取。 一、引言 由于最近公司的系統需要改版,改
        KnockoutJS是一個JavaScript實現的MVVM框架。非常棒。比如列表數據項增減后,不需要重新刷新整個控件片段或自己寫JS增刪節點,只要預先定義模板和符合其語法定義的屬性即可。簡單的說,我們只需要關注數據的存取。

        一、引言

          由于最近公司的系統需要改版,改版的新系統我打算使用KnockoutJs來制作Web前端。在做的過程中,遇到一個問題——如何使用KnockoutJs來完成分頁的功能。在前一篇文章中并沒有介紹使用KnockoutJs來實現分頁,所以在這篇文章中,將補充用KnockoutJs+Bootstrap來實現數據的分頁顯示。

        二、使用KnockoutJs實現分頁

          這里采用了兩種方式來實現分頁,第一種是將所有數據加載出來,然后再將所有數據分頁顯示;第二種是每次都只加載部分數據,每次請求都重新加載后面的數據。

          對于這兩種方式,使用Razor方式實現的分頁一般都會采用第二種方式來實現分頁,但是對于單頁面程序來說,第一種實現方式也有其好處,對于不是非常大量的數據完全可以采用第一種實現方式,因為這樣的話,后面的數據的加載,用戶體驗非常的流暢。所以這里將分別介紹這兩種實現方式。

        2.1 每次加載部分數據的實現

           這里的后端代碼采用的是前一篇文章的代碼,只是多加了一些示例數據而已。具體的后端實現代碼為:

        輸出代碼執行各個環節的執行時間", Owner = "Tonny Li", FinishTime = DateTime.Parse(DateTime.Now.AddDays(4).ToString(CultureInfo.InvariantCulture)) }, new Task { Id =5, Name = "測試任務1", Description = "測試任務1", Owner = "李志", FinishTime = DateTime.Parse(DateTime.Now.AddDays(5).ToString(CultureInfo.InvariantCulture)) }, new Task { Id =6, Name = "測試任務2", Description = "測試任務2", Owner = "李志", FinishTime = DateTime.Parse(DateTime.Now.AddDays(6).ToString(CultureInfo.InvariantCulture)) }, new Task { Id =7, Name = "測試任務3", Description = "測試任務3", Owner = "李志", FinishTime = DateTime.Parse(DateTime.Now.AddDays(7).ToString(CultureInfo.InvariantCulture)) }, }; #endregion #region Public Methods public IEnumerable GetAll() { return _tasks; } public IEnumerable GetAll(int pageNumber, int pageSize, out int totalCount) { var skip = (pageNumber - 1) * pageSize; var take = pageSize; totalCount = _tasks.Count; return _tasks.Skip(skip).Take(take); } public Task Get(int id) { return _tasks.Find(p => p.Id == id); } public Task Add(Task item) { if (item == null) { throw new ArgumentNullException("item"); } item.Id = _tasks.Count + 1; _tasks.Add(item); return item; } public void Remove(int id) { _tasks.RemoveAll(p => p.Id == id); } public bool Update(Task item) { if (item == null) { throw new ArgumentNullException("item"); } var taskItem = Get(item.Id); if (taskItem == null) { return false; } _tasks.Remove(taskItem); _tasks.Add(item); return true; } #endregion }

          Web前端的實現代碼:

          對應的Js實現為:

          這里介紹了下使用KnockoutJs實現分頁功能的實現思路:

        1.頁面加載完成之后,發起Ajax請求去異步調用REST 服務來請求部分數據。

        2.然后將請求的數據通過KnockoutJs綁定顯示。

        3.將對應的分頁信息綁定到Bootstrap分頁中

        4.當用戶點擊翻頁時,再發起一個Ajax請求去異步調用Rest服務請求數據,再將請求的數據顯示出來。

          這上面是描述的代碼的調用邏輯關系,你可以參考對應的JS代碼來理解上面的描述。到此我們第二種實現方式就實現完成了。

        2.2 第一次加載所有數據,然后將所有數據分頁顯示

          接下來就介紹了第一種實現方式,這樣的實現方式,用戶只會在第一次的時候才會感覺到數據加載中,翻頁過程中感覺不到頁面的加載,這樣對于一些本身數據了不是太多的情況下,對于用戶的感覺也是更加流暢的。

          其具體的實現思路,也就是將請求的數據不要全部顯示在頁面上,因為數據太多,一下子顯示到頁面中,用戶可能會眼花繚亂。將數據分頁顯示將使得用戶查看更加清晰。

        具體的Web前端Js的實現代碼為:

          其前端頁面的實現與前面的實現類似。具體頁面代碼如下:

        三、運行效果

          接下來,讓我們看看,使用KnockoutJs實現的分頁效果:

        四、總結

          到這里,本文要介紹的內容就結束,盡管本文實現的內容相對比較簡單,但是對于一些剛接觸KnockoutJs的朋友來說,相信本文的實現會是一個很多的指導。接下來,我將會為大家分享下AngularJs的相關內容。

        以上所述是小編給大家介紹的Bootstrap與KnockoutJs相結合實現分頁效果實例詳解,希望對大家有所幫助!

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Bootstrap與KnockoutJs相結合實現分頁效果實例詳解_javascript技巧

        Bootstrap與KnockoutJs相結合實現分頁效果實例詳解_javascript技巧:KnockoutJS是一個JavaScript實現的MVVM框架。非常棒。比如列表數據項增減后,不需要重新刷新整個控件片段或自己寫JS增刪節點,只要預先定義模板和符合其語法定義的屬性即可。簡單的說,我們只需要關注數據的存取。 一、引言 由于最近公司的系統需要改版,改
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 怡红院免费全部视频在线视频| 亚洲av第一网站久章草| 无遮挡国产高潮视频免费观看| 成年女人免费v片| 国产成人亚洲精品| 色婷婷7777免费视频在线观看| 亚洲高清在线视频| 久久国产色AV免费观看| 久久精品国产亚洲av日韩| 久久精品国产免费一区| 亚洲AV无码AV男人的天堂| 亚洲va久久久噜噜噜久久| 国产在线观看免费视频软件| 亚洲av永久无码精品漫画 | 狼群影院在线观看免费观看直播| 久久精品国产亚洲| 3344免费播放观看视频| 亚洲国产综合在线| 在线免费观看中文字幕| 亚洲AV无码一区二区三区鸳鸯影院| 免费v片在线观看品善网| jizz免费一区二区三区| 亚洲国产精品无码成人片久久| 久久久高清日本道免费观看| 亚洲欧洲校园自拍都市| 成人au免费视频影院| 羞羞视频免费网站含羞草| 亚洲欧洲无码AV电影在线观看| 久久大香香蕉国产免费网站| 亚洲Av无码一区二区二三区| 好爽又高潮了毛片免费下载| 成人a毛片免费视频观看| 久久久亚洲精品视频| 最近最好的中文字幕2019免费 | 亚洲AV永久无码精品| 18国产精品白浆在线观看免费 | 无码国产精品一区二区免费式影视 | 区三区激情福利综合中文字幕在线一区亚洲视频1 | 久久亚洲中文字幕精品有坂深雪| 免费观看无遮挡www的小视频| 亚洲日韩在线中文字幕综合|