1. 程式人生 > >RequireJS入門指南(二)-vue分頁模組抽離

RequireJS入門指南(二)-vue分頁模組抽離

vue實現分頁,模組化實現的碎碎念。
這篇講一下我是如何在專案中抽離出分頁模組的。
這段時間做的專案讓我很頭疼,因為前面寫程式碼的時候沒有考慮很多東西,寫到後面就發現程式碼越來越重。
而且在不同頁面都有相同的程式碼,比如分頁。
前有大神說:長痛不如短痛。
我最近超級苦惱,已經停止好幾天沒有寫程式碼了,就是因為不斷的寫,程式碼越寫越醜。
比如我跟某人的抱怨:

這裡寫圖片描述

但是這樣下去也不是辦法,最近又被老闆逼著寫文件,又抽不出一整段時間來改程式碼。
於是想到說最近開始學習requireJS,開始把程式碼模組化出來。
今天已經小有進展,雖然很多原理還是不是很明白就開始拿來用,但是至少實現了一個分頁模組的抽離。鼓掌鼓掌~~~~

還好之間寫程式碼的時候一直有寫註釋的習慣,雖然寫得很醜。

這裡,來貼一下原始碼吧,分頁模組pagin.js

define(function() {   
    /*----處理分頁
     *----輸入:
     *--------t_p(NUM):總頁數
     *--------cur_p(NUM):當前頁碼
     *返回:頁碼陣列pages,以及當前頁碼的類
     */
    var paginGetli = function(t_p, cur_p) {
        console.log('test');
        //總頁數,預設為1
        var
total_page = t_p || 1; //當前頁數,預設為1 var cur_page = cur_p || 1; /*處理分頁*/ var pages = []; var prev = { "disabled": false, "active": false, "content": "<<" }; var next = { "disabled": true, "active"
: false, "content": ">>" } if (total_page === 1) { console.log('total_page === 1'); pages.push(prev); pages.push({ "disabled": true, "active": true, "content": "1" }); pages.push(next); } else { if (total_page === cur_page) { /*當前頁數==尾頁*/ prev.disabled = false; } else if (cur_page === 1) { /*當前頁數為第一頁*/ next.disabled = false; prev.disabled = true; } else { /*當前頁非首頁、末頁*/ prev.disabled = false; next.disabled = false; } pages.push(prev); for (var i = 1; i <= total_page; i++) { var item = { "disabled": false, "active": false, "content": i }; if (i === cur_page) { item.active = true; }; pages.push(item); } pages.push(next); } var result = { "cur_page": cur_page, "pages": pages } return result; };     return {       paginGetli: paginGetli    };   }); 

主模組zhuguan.js

require.config({
    baseUrl: 'js/common'
});
require(['common', 'pagin'], function(defaultStr, pagin) {
    var baseUrl = defaultStr();
    console.log(pagin.paginGetli(4, 2));
    .................
})

相關推薦

RequireJS入門指南-vue模組

vue實現分頁,模組化實現的碎碎念。 這篇講一下我是如何在專案中抽離出分頁模組的。 這段時間做的專案讓我很頭疼,因為前面寫程式碼的時候沒有考慮很多東西,寫到後面就發現程式碼越來越重。 而且在不同頁

Maven入門指南

deploy ... web服務器 快速 repos 必須 轉載 關於 net 轉載自並發編程網 – ifeve.com本文鏈接地址: Maven入門指南(二) Maven目錄結構 Maven有一個標準的目錄結構。如果你在項目中遵循Maven的目錄結構,就無需在pom文件中

Drools規則引擎入門指南

本篇部落格主要講解Drools常用的屬性以及函式 屬性 首先我們在resources\rules資料夾下建立一個Property.drl,還有一個DroolsApplicationPropertyTests 1. salience優先順序 salience 屬性的值預設為0,它的值越大執行的

機器學習之python入門指南元組、集合、字典的使用

Python3中元組、集合、字典的使用 Python中元組的用法元組的建立與訪問 元組和列表類似,不同之處在於元組不能修改,元組使用小括號,列表使用方括號,注意元組中如果只包含以個元素需要在後面加,否則會被當作運算子使用 元組與字串類似,下標索引從0開始,可以進行擷取,取捨

Ember.js 入門指南

@(Ember)[MVVM|前端框架|HTML桌面應用] 序言 經常有人質疑,在前端搞MV*有什麼意義?也有人跟我提出這樣的疑問:以AngularJS,Knockout,BackBone為代表的MV*框架,它跟jQuery有什麼區別?我jQuery用

Gradle入門指南

轉載請標明出處: 本文出自:【ouyida3的部落格】 注意:本文內容都是通過gradle命令列完成,不涉及eclipse的外掛。 1、先閱讀 2、常用命令 gradle -v gradle build gradle build --

redis入門指南—— 資料操作相關命令

寫在前面   以下絕大部分內容取材於《redis入門指南》,部分結合個人知識,實踐後得出。   只記錄重要,明確,屬於新知的相關內容,杜絕冗餘和重複。   字串   1、字串型別是redis中最常見的型別,目前字串資料的最大容量是512M。   2、取值、賦值     SET key value

給萌新HTML5 入門指南

本文由葡萄城技術團隊原創並首發 轉載請註明出處:葡萄城官網,葡萄城為開發者提供專業的開發工具、解決方案和服務,賦能開發者。   上一篇我們已經為大家介紹了HTML5新增的內容和基礎頁面佈局,這篇會繼續向大家介紹廣義上HTML5中另一個組成部分:JavaScript資料型別。 JavaScri

JQuery 常用積累Pagination 元件

http://www.cnblogs.com/java-class/p/4542154.html      分頁元件幾乎是一般網站都會涉及到的元件,網上有很多這樣的外掛,自己挑來跳去選擇了這一款,功能強大,可擴充套件性比較強,而且幕後的工程師一直在完善這個外掛,

Vue 2.x框架完善—— vue路由按模組配置

1. 寫在前面 關於 vue-router 的相關文件: 1. vue-router 官方文件 2. 網上很多優秀的教程,請自行百度。 3. 專案demo程式碼。github 2 路由按模組配置 通常我們將路由寫在 /src/router/ind

Vue入門指南5

v-if 和 v-show 直接看v-if例子來 <h1> v-if 和 v-show </h1> <div id="vue-app"> &l

Vue入門指南3

屬性繫結 v-bind:給屬性繫結對應的值 <div id="vue-app"> <a v-bind:href="website">web開發</a> </div> <script src="v

條形碼入門指南維條形碼

   現在條形碼無處不在,幾乎用於所有業務領域的識別。在業務流程中實施條形碼時,可以自動執行程式以減少人為錯誤

Asp.Net Core WebAPI入門整理簡單示例

序列 open exc tor pda template ssa net found 一、Core WebAPI中的序列化 使用的是Newtonsoft.Json,自定義全局配置處理: // This method gets called by the runtime.

Struts2入門介紹

輸入 clu ons dom 訪問路徑 訪問 filter pri locale 一、Struts執行過程的分析。   當我們在瀏覽器中輸入了網址http://127.0.0.1:8080/Struts2_01/hello.action的時候,Struts2做了如下過程:

CodeArt入門教程

本質 文件夾 不同的 存在 切換數據庫 站點 ear 新的 組裝 4.第一個示例的編碼工作   使用CA編碼項目的核心結構是:由多個子系統組成多個不同的服務來提供項目的各種功能。請不要將這裏提到的子系統與大家在別的項目實施方法裏的概念混為一談,CA裏的子系統概念是完全不一樣

OpenCV入門筆記 圖片的文件操作

strong asc nump str destroy type convert 代碼 creat 以下介紹一下重要的幾個,設計基本 圖片處理 的函數,依次來了解OpenCV的入門知識。具體的具體使用方法還是以官方的API【Official Tutori

Dapper入門教程——執行非查詢語句

文本 resp -exec factor -h spa onf fec table 描述 你可以從任意實現IDbConnection的類對象中調用Dapper的擴展方法“Execute”。它能夠執行一條命令(Command)一次或者多次,並返回受影響的行數。這個方法通常用來

MVC5+EF6入門

key 元素 action 地址 登錄ui acc 場景 stact name 貓和你都歸我 2017/10/01 17:00:29 今天學習了第二課的內容,下面是我總結的知識點,希望會有所幫助,也希望多多指導!一、對專業名詞的解釋Action Method Selec

Vue入門系列Vue實例詳解與生命周期

auto res context mode parent all from bool silent 【入門系列】 【本文轉自】   http://www.cnblogs.com/fly_dragon Vue的實例是Vue框架的入口,其實也就是前端的ViewM