原创 iOS | 圖片上的文字自適應

背景 公司產品需要自定義彈窗。而彈窗的背景圖片是根據屏幕的寬高自動縮放的,如下: #define ALERTVIEW_HEIGHT ([UIScreen mainScreen].bounds.size.width - 60)*1.

原创 nvm & npm 使用教程

nvm 這裏推薦使用nvm進行node的版本管理,進行多版本切換比較方便。 What | 是什麼 node version manager – node版本管理工具,可以同時切換node的多個版本在本地運行。 How | 如何使用

原创 JavaScript 原語

在JavaScript,一個原語(primitive–原語值,原語數據類型)是一個數據,不是一個對象並且沒有方法。有七種原語數據類型: string number bigint boolean null undefined sy

原创 Vue 系列 | Vue-Router

注意: 本文所有示例代碼詳見:vue-rouer-demo 1.What | 什麼是Vue Router Vue Router是Vue.js提供的官方路由管理器,它和Vue.js深度集成,使構建單頁面應用非常方便。 2.Why

原创 Vue | 25 工具 - 單文件組件

內容提要: 單文件組件的意義 關於新手和高級用戶如何使用單文件組件的建議 介紹 在一些Vue項目中,全局組件將使用Vue.component定義,而後通過new Vue({ el: '#container' })在頁面內找

原创 Vue | 23 可用性&組合 - 插件

內容提要: 使用一個插件 如何寫一個插件 插件常常爲Vue添加全局級功能。插件沒有嚴格定義的作用域 - 通常有幾種類型的插件: 添加一些全局的方法或屬性。例如: vue-custom-element 添加一個或多個全局資

原创 Vue | 21 可複用性&組合-自定義指令

內容提要: 自定義指令基本用法介紹 自定義指令內部包含哪些鉤子函數 指令鉤子內部傳遞哪些元素值 自定義指令函數的縮略寫法用例 在JavaScript對象中傳遞多個字面值 介紹 除了在覈心附帶的默認的指令集合(v-model

原创 Vue | 24 可用性&組合 - 過濾器

Vue.js允許你去定義過濾器,可用於一些常見的文本格式化。過濾器在兩個地方可以使用:雙花括號插值和v-bind 表達式(在2.1.0+被支持)。過濾器應該被加到JavaScript表達式的末尾,由管道符號表示: <!-- 在雙花

原创 Vue | 27 工具 - TypeScript 支持

主要內容: JavaScript在官方的聲明及推薦配置 創建工程及編碼的開發工具推薦 基本用例演示 基於類風格的Vue組件 插件使用中的參數類型 註釋返回類型 Vue CLI提供了構建 TypeScript工具支持。在V

原创 Vue | 28 工具 - 產品部署

主要內容: 打開生產模式的幾種配置方式 預編譯模板 提取組件CSS的方式 追蹤運行時錯誤 如果你使用Vue CLI以下大部分建議是默認可用的。如果你使用的是自定義的構建設置時,這章纔是相關的。 打開生產模式 在開發階段

原创 Vue | 26 工具 - 單元測試

主要內容: 簡單的斷言 寫可測試的組件 斷言的異步更新 Vue CLI已經爲單元測試構建了操作項,使用Jest或Mocha開箱即用。我們也提供了官方的單元測試庫Vue Test Utils,爲自定義配置提供了更爲細節的指

原创 極簡Webpack | 手寫打包器

極簡Webpack | 手寫打包器 Webpack是現代JavaScript應用的靜態模打包器。它能夠內建一個被稱爲dependency graph的依賴關係圖並生成一個或多個包。作爲前端開發者,我們經常和它打交道,理解它如何工作

原创 Vue | 32 內部 - 深入響應式原理

主要內容: 改變是如何被追蹤到的 改變檢測的一些說明及聲明屬性的方式 聲明響應式屬性的形式及原因 異步更新隊列的方式及如何在nextTick下手動更新數據 現在是時候深入研究一下了!Vue最獨特的功能之一就是非侵入式的響應系統

原创 Vue | 30 規模化 - 狀態管理

類Flux官方實現 由於多個狀態分散在不同的組件和組件直接的交互中,大型應用常常變得複雜。爲了解決這個問題,Vue提供了vuex:我們有受到Elm啓發的狀態管理庫。它甚至集成進了vue-devtools,無需配置即可進行時光旅行調試。

原创 Vue | 29 規模化 - 路由

官方路由 對於大多數單頁面應用,推薦使用官方支持的vue-router library,對於更多的細節,查看vue-router的文檔。 從零開始簡單的路由 如果你僅僅需要一個非常簡單的路由,但不需要包含一個完整功能的路由庫,你可以像