搜尋
首頁web前端js教程AngularJS 2.0新特性有哪些_AngularJS

AngularJS已然成為Web應用開發世界中最受歡迎的開源JavaScript框架。自成立以來,見證其成功的是驚人的經濟成長以及團體的支持與採用——包括個人開發者、企業、社區。

Angular已經變成一個建立複雜單一頁面應用程式的客戶端MVW框架(Model-View-Whatever)。它在應用測試和應用程式編寫方面都扮演著重要角色,同時簡化了開發過程。

Angular目前的版本為1.3,該版本穩定,並被Google(框架維護者)用於支援眾多應用(據估計,在Google有超過1600個應用程式運行於Angular1.2或1.3)。 Angular 2.0正式宣布與去年10月份的奈及利亞會議上,該版本不會是一個複雜的重大更新。

為什麼要推出Angular 2.0?

在進一步討論Angular 2.0(估計發布日期為2015年底)之前,讓我們簡單的思考下新版本背後的哲學。 Angular 2.0開發始於解決以下問題:

行動:新的版本將專注於行動應用的開發。依據是它更容易處理桌面方面的事情,一旦挑戰涉及移動(效能、載入時間),注重這方面會使問題得到解決。

模組化:各個模組將從Angular的核心中移除,從而獲得更好的性能。這意味著你可以選擇你需要的零件。
現代化:Angular 2.0將把ES6和「常青」現代瀏覽器(自動更新到最新版本)作為目標。這意味著開發者可以專注於與業務領域相關的程式碼。

有哪些爭議?

在尼日利亞會議上並沒有提及遷移到2.0版本的途徑。同時也指出跳到2.0版本將會打破原有的1.3版本應用,且不會有任何的向後相容性。自從那時開始開發者社群一直充斥著不確定性和猜測,一些開發者也開始質疑是否值得開始一個新的Angular 1.3專案。

有哪些改變?

AtScript

AtScript是ES6的一個父集,被用來開發Angular 2.0。它是由Traceur編譯器(連同ES6)處理來產生ES5程式碼並用TypeScript類型語法來產生執行時間的斷言,以此來取代編譯時的檢查。不過AtScript並不是強制的,你仍然能夠使用純JavaScript/ES5程式碼取代AtScript來編寫Angular應用程式。

改善依賴入駐(DI)

依賴注入(Dependency injection )模式的基本思想是客戶類別Client不用自己來初始化它所依賴的成員變數IServer,使用一個獨立的物件建立IServer適當的實作類別並將它賦值給Client的成員變數。它對模組開發與組件隔離特別有益。 Angular 2.0將會解決Angular 1.X所存在的這個面向的問題。加入遺失的特性,如child injectors和lifetime/scope控制。

Annotations

AtScript提供工具關聯元資料和功能。這有助於建立提供必要資訊到DI庫的物件實例(檢查相關元資料時呼叫一個函數或建立一個類別的實例)。它也容易透過提供一個註解重載參數資料。

Child Injectors

一個child injector繼承了其父類別的所有效能服務。根據要求,不同類型的物件可以被調用,並且自動覆蓋不同的範圍。

實例範圍

改進的DI庫將以實例範圍為特性,這在使用Child Injectors和自己的範圍標識符時變得更加強大。

模板與資料綁定

在開發應用中,模板和資料綁定將齊頭並進。

動態載入

這是目前Angular版本所缺少的一個特性,不過將在Angular 2.0中出現。這將讓開發者可以在忙碌中添加新的指令或控制器。

模板

在Angular 2.0中,模板編譯過程將是非同步的。由於程式碼是基於ES6模組規格,因此此模組載入器將透過簡單的引用組件定義來載入依賴關係。

指令

Angular 2.0將會出現三種指令:

元件指令-這些將透過JavaScript、HTML或一個可選的CSS樣式表的封裝邏輯建立可重複使用的元件。

裝飾指令-這些指令將被用來裝飾元素(例如新增一個工具提示,或使用ng-show/ng-hide來顯示/隱藏元素)。

範本指令-這些將把H​​TML改為可重複使用的範本。模板的實例化以及嵌入到DOM可以完全由指令控制。這樣的例子包括ng-if和ng-repeat。

Routing plan

The initial Angular routing is designed to handle some simple situations. However, as the framework evolves, more and more features are added. Routing is already extensible in Angular 2.0 and will include the following basic features:

Simple json-based routing configuration;

Optional contracts over configuration;

Static. Parameterized routing mode;

URL parser;

Supports query string;

Use push status or Hashchange;

Navigation model (generates a navigation UI);

Document title updated;

404 routing processing;

Location services;

Historical operations.

Now, let’s take a look at the routing features that take Angular 2.0 to new heights:

Subroute

Sub-routing will transform each component of the application into smaller applications by providing them with their own routes, which will help encapsulate the feature set of the entire application.

Screen activation

This will help developers better control the navigation lifecycle through a set of can* callbacks:

canActivate - allow/block navigation to new controllers;

activate - respond to successful navigation to the new controller;

canDeactivate - Allow/block navigation away from old controllers;

deactivate - responds to successful navigation away from the old controller;

These callbacks will allow developers to return a Boolean value or a command (for lower level control).

Design

All this logic is built using a pipeline structure, making it very easy to add your own steps to the pipeline or remove the default stuff. In addition, its asynchronous nature will allow developers to use server requests to authenticate or load data for controllers, although this is still planned.

Log

Angular 2.0 will include a logging service called diary.js - a very useful feature for measuring where your time is spent in your application.

Scope

$scope will be removed from Angular 2.0 and replaced by ES6 classes.

Conclusion

The excitement and buzz surrounding Angular 2.0 will intensify as the release date approaches. Is breaking change a good thing? We have no way of knowing, but opponents are understandably nervous given the apparent lack of plans to relocate. The excitement came right away. But since it is coming, what we can do is to welcome it actively.

The above content introduces you to the new features of AngularJS 2.0. I hope it will be helpful to you!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
2022年最新5款的angularjs教程从入门到精通2022年最新5款的angularjs教程从入门到精通Jun 15, 2017 pm 05:50 PM

Javascript 是一个非常有个性的语言. 无论是从代码的组织, 还是代码的编程范式, 还是面向对象理论都独具一格. 而很早就在争论的Javascript 是不是面向对象语言这个问题, 显然已有答案. 但是, 即使 Javascript 叱咤风云二十年, 如果想要看懂 jQuery, Angularjs, 甚至是 React 等流行框架, 观看《黑马云课堂JavaScript 高级框架设计视频教程》就对了。

使用PHP和AngularJS搭建一个响应式网站,提供优质的用户体验使用PHP和AngularJS搭建一个响应式网站,提供优质的用户体验Jun 27, 2023 pm 07:37 PM

在如今信息时代,网站已经成为人们获取信息和交流的重要工具。一个响应式的网站能够适应各种设备,为用户提供优质的体验,成为了现代网站开发的热点。本篇文章将介绍如何使用PHP和AngularJS搭建一个响应式网站,从而提供优质的用户体验。PHP介绍PHP是一种开源的服务器端编程语言,非常适用于Web开发。PHP具有很多优点,如易于学习、跨平台、丰富的工具库、开发效

使用PHP和AngularJS构建Web应用使用PHP和AngularJS构建Web应用May 27, 2023 pm 08:10 PM

随着互联网的不断发展,Web应用已成为企业信息化建设的重要组成部分,也是现代化工作的必要手段。为了使Web应用能够便于开发、维护和扩展,开发人员需要选择适合自己开发需求的技术框架和编程语言。PHP和AngularJS是两种非常流行的Web开发技术,它们分别是服务器端和客户端的解决方案,通过结合使用可以大大提高Web应用的开发效率和使用体验。PHP的优势PHP

使用Flask和AngularJS构建单页Web应用程序使用Flask和AngularJS构建单页Web应用程序Jun 17, 2023 am 08:49 AM

随着Web技术的飞速发展,单页Web应用程序(SinglePageApplication,SPA)已经成为一种越来越流行的Web应用程序模型。相比于传统的多页Web应用程序,SPA的最大优势在于用户感受更加流畅,同时服务器端的计算压力也大幅减少。在本文中,我们将介绍如何使用Flask和AngularJS构建一个简单的SPA。Flask是一款轻量级的Py

如何使用PHP和AngularJS进行前端开发如何使用PHP和AngularJS进行前端开发May 11, 2023 pm 05:18 PM

随着互联网的普及和发展,前端开发已变得越来越重要。作为前端开发人员,我们需要了解并掌握各种开发工具和技术。其中,PHP和AngularJS是两种非常有用和流行的工具。在本文中,我们将介绍如何使用这两种工具进行前端开发。一、PHP介绍PHP是一种流行的开源服务器端脚本语言,它适用于Web开发,可以在Web服务器和各种操作系统上运行。PHP的优点是简单、快速、便

使用PHP和AngularJS开发一个在线文件管理平台,方便文件管理使用PHP和AngularJS开发一个在线文件管理平台,方便文件管理Jun 27, 2023 pm 01:34 PM

随着互联网的普及,越来越多的人在使用网络进行文件传输和共享。然而,由于各种原因,使用传统的FTP等方式进行文件管理无法满足现代用户的需求。因此,建立一个易用、高效、安全的在线文件管理平台已成为了一种趋势。本文介绍的在线文件管理平台,基于PHP和AngularJS,能够方便地进行文件上传、下载、编辑、删除等操作,并且提供了一系列强大的功能,例如文件共享、搜索、

如何在PHP编程中使用AngularJS?如何在PHP编程中使用AngularJS?Jun 12, 2023 am 09:40 AM

随着Web应用程序的普及,前端框架AngularJS变得越来越受欢迎。AngularJS是一个由Google开发的JavaScript框架,它可以帮助你构建具有动态Web应用程序功能的Web应用程序。另一方面,对于后端编程,PHP是非常受欢迎的编程语言。如果您正在使用PHP进行服务器端编程,那么结合AngularJS使用PHP将可以为您的网站带来更多的动态效

AngularJS基础入门介绍AngularJS基础入门介绍Apr 21, 2018 am 10:37 AM

这篇文章介绍的内容是关于AngularJS基础入门介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版