今天的JavaScript世界中,有一股風頭如熱鋒在飛,那就是Angular.js,它在前端開發界以強大、靈活和愉悅的體驗吸引了前端開發者出現一 рай堂。今天,讓我們一起看看Angular.js的爆款之謎,并探討一下為何這個寵兒在JavaScript中擁有這么高的相信空間。
一、初識Angular.js
Angular.js是一個開源的JavaScript框架,由Google開發。它主要用于構建用戶界面,幫助開發者以聲明式方法構建動態的用戶界面。Angular.js的設計靈活,可以為活躍的WEB應用程序添加交互性。
二、Angular.js的特點
三、angular的理念
Angular.js的核心理念是持續的創新。Google以技術升級和創新為ний錄發達了這一公司的文化愿景。Angular.js的設計追求簡練,只提供了必需的功能和直觀的更新流程,讓開發者透過Angular的誘之不得。
四、Angular.js的開發優勢
:了解AngularJS
AngularJS是一款非常優秀的前端高級 JS 框架,由 Misko Hevery 等人創建 2009 年被 Google 收購,用于其多款產品 有一個全職的開發團隊繼續開發和維護這個庫 有了這一類框架就可以輕松構建 SPA 應用程序 single page web application 通過指令擴展了 HTML,通過表達式綁定數據到 HTML。
二:AngularJS的優勢
更少的代碼,實現更強勁的功能
.帶領前端進入MVC時代
mvc模式:Model(模型)是應用程序的核心,指的是程序在數據庫中存儲數據。
View(視圖)是應用的界面,將數據庫里的數據展現出來,展現給程序的使用者。
Controller(控制器)處理用戶的交互行為,程序使用者更改數據,由控制器接受并發送給模型。
三:AngularJS的特性
MVC
.模塊化
自動化雙向數據綁定 使用{{ }}對動態數據綁定,綁定到元素的innerHTML
指令系統 ng-
表單驗證
HTML組件化
.Angular 在構建 增加、查詢、修改、刪除的頁面應用時能發揮最大優勢。
四:AngularJS語法特點
Angular 最大程度的減少了頁面上的 DOM 操作;
讓 JavaScript 中專注業務邏輯的代碼;
通過簡單的指令結合頁面結構與邏輯數據;
通過自定義指令實現組件化編程;
代碼結構更合理;
維護成本更低;
Angular 解放了傳統 JavaScript 中頻繁的 DOM 操作
五:AngularJS的用法
1.編寫第一個Angular應用
當網頁加載完畢,AngularJS 自動開始執行; HTML 頁面中 ng-xxx 的屬性稱之為指令(Directive); ng-app 指令告訴 AngularJS,<html> 元素是 AngularJS 應用程序管理的邊界; {{ }} 雙花括號里面的叫做數據綁定表達式,可以是任何有效的JavaScript值、變量或語句。而在頁面上顯示的是表達式計算后的結果值。 | 管道符號可以給表達式添加過濾器,如 | number:2, |currency
<html ng-app>
<head></head>
<body>
{{"現在開始學習Angular"}}
</body>
</html>
2.Module.controller() 控制器
第二行代碼創建了一個名為userCtrl的控制器,以及一個控制器函數 控制器函數接受一個名為$scope的參數
var app = angular.module(“myApp”, []); //myApp模塊名 app是模塊實例
app.controller(“userCtrl” ,function($scope){ //userCtrl是控制器的名字
$scope.name= “李雷和韓梅梅”; //$scope用來保存數據,定義方法
});
由于篇幅會很長,又考慮到條友們可能會沒有耐心看很長的篇章,所以本期就寫到這里,感興趣的同學可以關注小編,小編會繼續發送文章的!
為了感謝觀看,小編準備了禮物給大家,關注小編后私信回復“資料”即可領取哦!
單獨來講,Vue.js被定義成一個用來開發Web界面的前端庫,是個非常輕量級的工具。Vue.js本身具有響應式編程和組件化的特點。
所謂響應式編程,即為保持狀態和視圖的同步,這個在大多數前端MV*(MVC/MVVM/MVW)框架,不管是早期的backbone.js還是現在AngularJS都對這一特性進行了實現(也稱之為數據綁定),但這幾者的實現方式和使用方式都不相同。相比而言,Vue.js使用起來更為簡單,也無需引入太多的新概念,聲明實例new Vue({ data : data })后自然對data里面的數據進行了視圖上的綁定。修改data的數據,視圖中對應數據也會隨之更改。
Vue.js的組件化理念和ReactJS異曲同工——“一切都是組件”,可以將任意封裝好的代碼注冊成標簽,例如:Vue.component('example', Example),可以在模板中以的形式調用。如果組件抽象得合理,這在很大程度上能減少重復開發,而且配合Vue.js的周邊工具vue-loader,我們可以將一個組件的CSS、HTML和js都寫在一個文件里,做到模塊化的開發。
除此之外,Vue.js也可以和一些周邊工具配合起來,例如vue-router和vue-resource,支持了路由和異步請求,這樣就滿足了開發單頁面應用的基本條件。
相比較Angularjs和ReactJS,Vue.js一直以輕量級,易上手被稱道。MVVM的開發模式也使前端從原先的DOM操作中解放出來,我們不再需要在維護視圖和數據的統一上花大量的時間,只需要關注于data的變化,代碼變得更加容易維護。雖然社區和插件并沒有一些老牌的開源項目那么豐富,但滿足日常的開發是沒有問題的。Vue.js 2.0也已經發布了beta版本,渲染層基于一個輕量級的 virtual-DOM 實現,在大多數場景下初始化渲染速度和內存消耗都提升了 2~4 倍。而阿里也開源了weex(可以理解成ReactJS-Native和ReacJS的關系),這也意味著Vue.js在移動端有了更多的可能性。
不過,對于為什么要選擇使用一個框架,都需要建立在一定的項目基礎上。如果脫離實際項目情況我們來談某個框架的優劣,以及是否采用這種框架,我覺得是不夠嚴謹的。
作為新興的前端框架,Vue.js也拋棄了對IE8的支持,在移動端支持到Android 4.2+和iOS 7+。所以如果你在一家比較傳統,還需要支持IE6的公司的話,你或許就可以考慮其他的解決方案了(或者說服你的老板)。另外,在傳統的前后端混合(通過后端模板引擎渲染)的項目中,Vue.js也會受到一定的限制,Vue實例只能和后端模板文件混合在一起,獲取的數據也需要依賴于后端的渲染,這在處理一些JSON對象和數組的時候會有些麻煩。
理想狀態下,我們能直接在前后端分離的新項目中使用Vue.js最合適。這能最大程度上發揮Vue.js的優勢和特性,熟悉后能極大的提升我們的開發效率以及代碼的復用率。尤其是移動瀏覽器上,Vue.js壓縮后只有18KB,而且沒有其他的依賴。
現在來看一下我們第一個Vue.js項目,按照傳統,我們來寫一個Hello World。
首先,引入Vue.js的方式有很多,你可以采用直接使用CDN,例如:
<script src='http://cdnjs.cloudflare.com/ajax/libs/vue/1.0.26/vue.min.js'></script>
也可以通過NPM進行安裝:
npm install vue // 最新穩定版本
正確引入Vue.js之后,我們在HTML文件中的內容為:
<div id="app">
<h1>{{message}}</h1>
</div>
應用的js如下:
var vm = new Vue({
el : '#app',
data: {
message : 'Hello world, I am Vue.js'
}
});
輸出結果為:
這種形式類似于前端模板引擎,我們把js中message值替換了HTML模板中{{message}}這部分。
不過,如果僅僅是這樣的例子,我相信你也不會有什么興趣去使用Vue.js。根據上文對Vue.js的說明,我們繼續寫兩個有關于它特性的例子。
第一個特性是數據綁定,我們可以在運行上述例子的瀏覽器控制臺(console)環境中輸入vm.message = 'Hello Vue.js',輸出結果就變為了Hello Vue.js。也就說明vm.message和視圖中的{{message}}是綁定的,我們無需手動去獲取<h1>標簽來修改里面的innerHTML。
同樣,我們也可以綁定用戶輸入的數據,視圖會隨著用戶的輸入而變化,例如:
<div id="app">
<h1>Your input is {{ message }}</h1>
<input type=”text” v-model=”message”>
</div>
vm.message的值會隨著用戶在input中輸入的值的變化而變化,而無需我們手動去獲取DOM元素的值再同步到js中。
第二個特性是組件化,簡單來說我們可以自己定義HTML標簽,并在模板中使用它,例如:
<div id="app">
<message content='Hello World'></message>
</div>
<script type="text/javascript">
var Message = Vue.extend({
props : ['content'],
template : '<h1>{{content}}</h1>'
})
Vue.component('message', Message);
var vm = new Vue({
el : '#app',
});
</script>
我們在瀏覽器里最終看到的HTML結果為:
可以看到自定義的標簽<message>被替換成了<h1>Hello World</h1>,當然,實際中的組件化遠比示例復雜,我們會給組件添加參數及方法,使之能更好地被復用。
如果說這幾個例子引起了你對Vue.js的興趣的話,那接下來就將它真實地運用到生產環境中吧。
本文節選自《Vue.js 前端開發 快速入門與專業應用》
內容簡介
本書主要介紹Vue.js的使用方法和在實際項目中的運用,它既可以在一個頁面中單獨使用,也可以將整站都構建成單頁面應用。為了便于理解,本書會從傳統的開發角度切入,先從數據渲染、事件綁定等方面介紹在Vue.js中的使用方法,然后漸進到Vue.js自身的特性,例如數據綁定、過濾器、指令以及最重要的組件部分。除了框架用法外,本書還介紹了和Vue.js相關的重要插件和構建工具,這些工具有助于幫助用戶構建一個完整的單頁面應用,而不僅僅是停留在個人DEMO階段的試驗品。而對于復雜項目,Vue.js也提供了對應的狀態管理工具Vuex,降低項目的開發和維護成本。鑒于完稿前,Vue.js 2.0已正式發布完畢,本書也在相關用法上對比了1.0和2.0的區別,并補充了render函數和服務端渲染等特性。
本書適用于尚未接觸過MVVM類前端框架的開發者,或者初步接觸Vue.js的開發者,以及實際應用Vue.js開發項目的開發者。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。