jquery JavaScript 框架 framework JavaScript rich web application Vue.js JavaScript Evan You Google 2014 Vue.js GitHub 75,000 GitHub 1 Vue collaborators

Similar documents
ii Vue Bootstrap 4 ES 6 Vue Vue Bootstrap 4 ES 6 Vue 2 vue html vue html vue Vue HTML 5 CSS ES 6 HTML 5 CSS Visual Studio Code h

關於本書 l 3 PhoneGap Appcelerator Titanium Sencha Touch (wrapper framework) Native App PhoneGap Build Native App Hybrid App Java Objective-C Android SDK

06 01 action JavaScript action jquery jquery AJAX CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS b

本 课 程 作 为 非 计 算 机 专 业 本 科 通 识 课 程, 是 一 门 理 论 和 实 践 紧 密 结 合 的 实 用 课 程, 内 容 包 括 计 算 机 基 础 部 分 和 程 序 设 计 部 分 计 算 机 基 础 部 分 涵 盖 计 算 机 软 硬 件 组 成 数 制 表 示 操

Microsoft Word - 01.DOC

1. 2. Flex Adobe 3.

中国软件2013校园招聘通知

final


Microsoft Word - PHP7Ch01.docx

RUN_PC連載_8_.doc



<ADB6ADB1C25EA8FAA6DB2D4D56432E706466>

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas

國家圖書館典藏電子全文

ASP.NET MVC Visual Studio MVC MVC 範例 1-1 建立第一個 MVC 專案 Visual Studio MVC step 01 Visual Studio Web ASP.NET Web (.NET Framework) step 02 C:\M

Internet Explorer 10


前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii

untitled

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

! 2000 CSSsprites.com Web FTP app 20% 80% getelementbyid() UI Facebook F8 Web CSSsprites.com Web JavaScript CSS React xi React UI UI 反應 UI 宣告 d

第 三 条 基 金 管 理 人 基 金 托 管 人 和 基 金 份 额 持 有 人 的 权 利 义 务, 依 照 本 法 在 基 金 合 同 中 约 定 基 金 管 理 人 基 金 托 管 人 依 照 本 法 和 基 金 合 同 的 约 定, 履 行 受 托 职 责 通 过 公 开 募 集 方 式

關於本書 Part 3 CSS XHTML Ajax Part 4 HTML 5 API JavaScript HTML 5 API Canvas API ( ) Video/Audio API ( ) Drag and Drop API ( ) Geolocation API ( ) Part 5

untitled

mvc

epub 61-2

緒 言 董 事 會 宣 佈, 為 能 更 具 效 率 調 配 本 集 團 內 的 資 金 有 效 降 低 集 團 的 對 外 貸 款, 並 促 進 本 集 團 內 公 司 間 的 結 算 服 務, 於 2016 年 9 月 30 日, 本 公 司 中 糧 財 務 與 管 理 公 司 訂 立 財 務

無障礙網頁開發規範二版(草案)

<4D F736F F D20312D3120D5D0B9C9CBB5C3F7CAE9A3A8C9CFBBE1B8E5A3A92E646F63>

ext-web-auth-wlc.pdf

Microsoft Word - template.doc

RUN_PC連載_10_.doc

投影片 1

vue-itHome.key

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

Microsoft Word - 第3章.doc

ycq.key

vi JSON JSON API XML JSON JSON JavaScript RESTful JSON Douglas Crockford JSON / RESTful API JavaScript Node.js Ruby on Rails Java Groovy

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工

概述

Value Chain ~ (E-Business RD / Pre-Sales / Consultant) APS, Advanc

标题

p.2 1 <HTML> 2 3 <HEAD> 4 <TITLE> </TITLE> 5 </HEAD> 6 7 <BODY> 8 <H3><B> </B></H3> 9 <H4><I> </I></H4> 10 </BODY> </HTML> 1. HTML 1. 2.

EJB-Programming-4-cn.doc

互動網頁技術系列課程 HTML與CSS網站基礎設計 [12pt]

天仁期末個人報告1.PDF

WWW PHP

Adobe AIR 安全性

Professional Ajax Ajax Adaptive Path, LLC Jesse James Garrett Ajax php Garrett WebG

自动化接口

1 2 <CAHhX17dox1o7cv63SgXVrJRs

威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 號 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

Basic System Administration

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

1

1 Internet [1]P Web Service Web Service Web XML HTTP URL 1..NET Framework.NET Framework Web Service HTTP 80.NET Framework 2

<4D F736F F F696E74202D20C8EDBCFEBCDCB9B9CAA6D1D0D0DEBDB2D7F92E707074>

无类继承.key

untitled

<4D F736F F D20A8ECABC8AE61C9DCEBD0EBD05FA4F1C1C95F2E646F63>

untitled

计算机软件技术专业教学计划

硕士论文正文

vi 黃 帝 內 經 即 學 即 用 別 做 反 自 然 的 事 053 成 年 人 應 該 斷 奶 055 吃 肉 吃 素 因 人 而 異 057 要 分 清 飢 和 餓 058 生 活 現 代 化 與 本 能 退 化 061 調 神 就 是 調 節 奏 063 想 冬 泳, 先 問 問 自 己

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

基于UML建模的管理管理信息系统项目案例导航——VB篇

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

UDC The Design and Implementation of a Specialized Search Engine Based on Robot Technology 厦门大学博硕士论文摘要库

Transcription:

jquery JavaScript 框架 framework JavaScript rich web application Vue.js JavaScript Evan You Google 2014 Vue.js GitHub 75,000 GitHub 1 Vue collaborators npm 40,000 DOM 1 在我開始編寫本書時, 此專案在 GitHub 上已獲得 65,000 顆星 在你閱讀本書時, 此專案所獲得的星星數可能已超過 75,000 顆了!

viii HTML JavaScript JavaScript Vue.js JavaScript JavaScript ECMAScript 2015 JavaScript const fat arrow destructuring ES2015 2 React B Vue.js React 7 2 1 Vue.js Vue.js 2 Vue.js Vue.js components codebase 3 Vue HTML JavaScript Vue CSS helper functionality 2 我推薦 Babel 網站上的 Learn ES2015 ( https://babeljs.io/learn-es2015)

ix 4 JSX Vue Getting Started guide templating syntax Vue JSX React Vue JSX 5 vue-router Vue view layer vue-router 6 Vuex Vuex 7 Vue vue-test-utils Vue A Vue vue-cli Vue B React Vue React Vue Vue React

第一章 Vue.js Vue.js Vue Vue.js framework Ajax jquery Vue jquery ul is-blue ul <ul class="js-items"></ul> $(function () { $.get('https://example.com/items.json').then(function (data) { var $itemsul = $('.js-items'); if (!data.items.length) { var $noitems = $('li'); $noitems.text('sorry, there are no items.'); $itemsul.append($noitems);

2 else { data.items.foreach(function (item) { var $newitem = $('li'); $newitem.text(item); if (item.includes('blue')) { $newitem.addclass('is-blue'); $itemsul.append($newitem); ); ); ); 1. $.get() Ajax 2..js-items $itemsul 3. li li document 4. li blue is-blue Vue Vue <ul class="js-items"> <li v-if="!items.length">sorry, there are no items.</li> <li v-for="item in items" :class="{ 'is-blue': item.includes('blue') "> {{ item </li> </ul> el: '.js-items',

Vue.js 3 items: [], created() { fetch('https://example.com/items.json').then((res) => res.json()).then((data) => { this.items = data.items; ); ); 1. fetch() Ajax 2. JSON JavaScript 3. items Vue Document Object Model DOM HTML Vue li item Vue view jquery reload Vue jquery Vue Vue Vue routing URL vue-router vuex Vue vue-test-utils vue-router 5 vuex 6 vue-test-utils 7

4 Vue <script src="https://unpkg.com/vue"> created() { // ); ID app div Vue body Vue CDN 1 Vue JavaScript Vue el div webpack bundler ECMAScript 2015 JavaScript CSS 2 vue-loader webpack vue-loader webpack loader HTML JavaScript CSS 2 webpack webpack npm vue-loader webpack configuration 1 內容傳遞網路 (content delivery network,cdn) 架設在世界各地的伺服器上, 讓內容可以迅速地傳遞 CDN 有助於開發與快速雛型製作, 不過在產品版上使用 unpkg 前, 你應該要再研究看看它是否適合於你的應用

Vue.js 5 module: { loaders: [ { test: /\.vue$/, loader: 'vue',, //...... ] webpack vue-loader webpack vue-loader webpack vue vue-cli $ npm install --global vue-cli $ vue init webpack vue-cli

6 Vue src.vue Vue 樣版 templates HTML 指令 directives Vue Good morning! 6 Good afternoon! Good evening! <p v-if="ismorning">good morning!</p> <p v-if="isafternoon">good afternoon!</p> <p v-if="isevening">good evening!</p>

Vue.js 7 var hours = new Date().getHours(); ismorning: hours < 12, isafternoon: hours >= 12 && hours < 18, isevening: hours >= 18 ); data Vue ismorning isafternoon isevening v-if v-if 2:30 p.m. <p>good afternoon!</p> 雖然 Vue 具有響應式功能 (reactive functionality), 上述範例並不具響應性, 網頁內容也不會隨著時間的改變而更新 稍後我們會就響應性進行更詳細的說明 data Vue v-if <p v-if="hours < 12">Good morning!</p> <p v-if="hours >= 12 && hours < 18">Good afternoon!</p> <p v-if="hours >= 18">Good evening!</p>

8 hours: new Date().getHours() ); JavaScript JavaScript computed properties interpolation <p>hello, {{ greetee!</p> greetee: 'world' ); <p>hello, world!</p> <p v-if="path === '/'">You are on the home page</p> <p v-else>you're on {{ path </p>

Vue.js 9 path: location.pathname ); location.pathname URL / /post/1635 v-if path / v-else v-if if-else else <p>the second dog is {{ dogs[1] </p> <p>all the dogs are {{ dogs </p> dogs: ['Rex', 'Rover', 'Henrietta', 'Alan'] ); The second dog is Rover All the dogs are [ "Rex", "Rover", "henrietta", "Alan" ] Vue JSON logging

10 v-if v-show v-if v-show v-if 2 DOM Vue <div v-if="true">one <div v-if="false">two <div>one CSS v-show Vue <div v-show="true">one <div v-show="false">two <div>one <div style="display: none">one v-if Vue HTML v-show v-if <div v-show="user"> <p>user name: {{ user.name </p> 2 假值 (falsy value) 表其值為 false undefined null 0 "" 或 NaN 的值

Vue.js 11 user: undefined ); Vue user.name v-if v-if Vue v-if v-else-if v-else <div v-if="state === 'loading'">loading /div> <div v-else-if="state === 'error'">an error occurred <div v-else> our content! div state loading state error v-show v-if DOM v-show v-show CSS v-show v-for <ul> <li v-for="dog in dogs">{{ dog </li> </ul>

12 dogs: ['Rex', 'Rover', 'Henrietta', 'Alan'] ); list <ul> <li>rex</li> <li>rover</li> <li>henrietta</li> <li>alan</li> </ul> v-for <ul> <li v-for="(rent, city) in averagerent"> The average rent in {{ city is ${{ rent </li> </ul> averagerent: { london: 1650, paris: 1730, NYC: 3680 );

Vue.js 13 key v-for="rent in averagerent" v-for="(dog, i) in dogs" (value, key) 1 10 <ul> <li v-for="n in 10">{{ n </li> </ul> el: '#app' ); 0 9 0 n-1 n v-bind v-bind HTML submit type <button v-bind:type="buttontype">test button</button> buttontype: 'submit' );

14 <button type="submit">test button</button> v-bind type attribute buttontype properties disabled checked property <button v-bind:disabled="buttondisabled">test button</button> buttondisabled: true ); attributes v-bind v-bind <button :disabled="buttondisabled">test button</button> buttondisabled: true ); v-bind 不管你選用的是 v-bind 還是短語法, 請持續下去 將 v-bind 與短語法混用會造成混淆