導航:首頁 > 編程語言 > angularjs翻譯文件緩存

angularjs翻譯文件緩存

發布時間:2025-07-20 06:55:35

⑴ 設計模式js阮一峰

有面向對象基礎自學前端想達到找工作的水平要多長時間需要看哪些書呢

客觀的講自學的話還是要看你自己的毅力和恆信,這個是最重要的,其次是學習的方法和方向。

首先說網站前端在目前來說需求還是很大的,但是需要的不是初級的前端而是高級前端,因為一般學習計算機的人自己學幾個月就能到初級的水平,而高級前端是沒有那麼容易的,你說的面向對象思想是一個很好的思想,不只是純編程用,現在網站前端也需要面向對象思想的指導。

1、關於學習時間

如果自己有毅力恆信和充足的時間來自學,加上正確的方法和方向,一般需要1年左右的時間的可以勉強到中級前端的水平,首先明確中級前端不只是些css代碼,而是對javaScript有深入的了解,且使用JavaScript來解決前端中的一些問題和優化前端頁面。補充一下從入門到精通的大致流程:html、css2(深入了解兩者的兼容性及解決主流瀏覽器的兼容性問題)——javascript知識(了解其簡單的框架或者類庫如jQuery等)——javascript高級知識(了解一些深入的JavaScript知識和其一些閉缺高級框架如angularjs等)——移動端頁面的開發html5+css3(同時要學習一些移動端的前端框架和JavaScript框架)——可以發webapp(精通js和其相關的框架且懂一些安卓或者ios知識)。當我們到第三個階段或者第四個階段就是可以算中級的前端的了。

2、關於學習的方法和推薦的書

首先說現在網上的資源是相當的豐富的,我們完全可以下載一些視頻或者其他的資源驚醒學習,關於推薦的書,個人推薦基本就自己感覺非常不錯的書和一些網上評價宴世不錯的書,都是關於JavaScript的。

入門級,也適合想掌握一些前端技能的非前端工程師

JavaScriptDom編程藝術

成為一名合格的前端工程師

JavaScript高級程序設計

精通JavaScript

更優秀的代碼,更優良的設計JavaScript語言精粹

JavaScript設計模式

同時建議看國內知名大牛的博客,如王福朋、阮一峰等,其博客上有大師門對晌態肢前端深入的理解。

為什麼昨天阮一峰老師發布全棧工程師資料中主要學習react和node,js

JavaScript是一種(最好的)編程語言,主要作為前端開發中用來增加網頁的動態功能。

NodeJs是基於JavaScript的,可以做為後台開發的語言.提供了很多系統級的API,如文件派斗賀操作、網路編程等.用事件驅動,非同步編程,主要塵派是為後台網路服務設計。

ReactJS為Facebook開發的,更多的像一個JS的庫.主要是在前端Web開發中,對MVC中的V進銷爛行操作。

ReactNative它基於開源框架ReacJS,並可用來開發iOS和Android原生應用,主要為移動端服務。

GitHub上有哪些值得推薦的開源電子書

語言無關類

操作系統

鳥哥的Linux私房菜(簡體)

Linux系統高級編程

TheLinuxCommandLine(中英文版)

Linux設備驅動(第三版)

深入分析Linux內核源碼

UNIXTOOLBOX

Docker中文指南

Docker——從入門到實踐

FreeRADIUS新手入門

Mac開發配置手冊

FreeBSD使用手冊

Linux命令行(中文版)

智能系統

一步步搭建物聯網系統

web伺服器

Nginx開發從入門到精通(淘寶團隊出品)

版本控制

Git教程(本文由?@廖雪峰創作,如果覺得本教程對您有幫助,可以去?iTunes購買)

git–簡易指南

猴子都能懂的GIT入門

Git參考手冊

ProGit

GitMagic

GotGitHub

GitCommunityBook中文版

Mercurial使用教程

HgInit(中文版)

沉浸式學Git

Git-Cheat-Sheet(感謝@flyhigher139翻譯了中文版)

GitHub秘籍

NoSQL

NoSQL資料庫筆談(PDF)

Redis設計與實現

Redis命令參考

帶有詳細注釋的Redis3.0代碼

帶有詳細注釋的Redis2.6代碼

TheLittleMongoDBBook

TheLittleRedisBook

Neo4j簡體中文手冊v1.8

Neo4j.rb中文資源

MySQL

MySQL索引背後的數據結構及演算法原理

項目相關

持續集成(第二版)(譯言網)

讓開發自動化系列專欄

追求代碼質量

selenium中文文檔

Joel談軟體

約耳談軟體(JoelonSoftware)

Web

關於瀏覽器和網路的20項須知

前端知識體系

瀏覽器開發工具的秘密

Chrome開發者工具中文手冊

Chrome擴展開發文檔

Grunt中文文檔

移動Web前端知識庫

正則表達式30分鍾入門教程

前端開發體系建設日記

移動前端開發收藏夾

JSON風格指南

HTTP介面設計指北

前端資源分享(一)

前端資源分享(二)

前端代碼規范及最佳實踐

w3school教程整理

大數據

大數據/數據挖掘/推薦系統/機器學習相關資源

編程藝術

程序員編程藝術

每個程序員都應該了解的內存知識(譯)【第一部分】

取悅的工序:如何理解游戲(豆瓣閱讀,免費書籍)

其他

OpenWrt智能、自動、透明翻牆路由器教程

語言相關類AWK

awk程序設計語言

C/C++

C++並發編程指南(@傅海平ICT)

LinuxC編程一站式學陪襲枯習(宋勁杉,北京亞嵌教育研究中心)

CGDB中文手冊

100個gdb小技巧

100個gcc小技巧禪碰

ZMQ指南

(中英文版)

跟我一起寫Makefile(PDF)

GNUmake中文手冊

GNUmake指南

GoogleC++風格指南

C/C++Primer(by@andycai)

簡單易懂的C魔法

Cmake實踐(PDF版)

C++FAQLITE(中文版)

C++Primer5thAnswers

CSS/HTML

學習CSS布局

通用CSS筆記、建議與指導

CSS參考手冊

Emmet文檔

前端代碼規范(騰訊alloyteam團隊)

Dart

Dart語言導覽

Fortran

Fortran77和90/95編程入門

Java

實時Java系列

ApacheShiro用戶指南

使用Eclipse和JavaSE6創建獨立WebServices應用程序

第1部分:WebServices服務端應用程序

第2部分:Web服務客戶端應用程序

JavaServerFaces1.2入門

第1部分:構建基本應用程序

第2部分:JSF生命周期、轉換、檢驗和階段監聽器

用EclipseEuropa進行Web開發

第1部分:EclipseJavaEE

第2部分:PHP開發工具

第3部分:RubyDevelopmentToolkit和RadRails

使用JavaServerFaces構建蘆洞ApacheGeronimo應用程序

第1部分:使用Eclipse和ApacheMyFacesCore構建基本的應用程序

第2部分:在JavaServerFaces中使用Tomahawk

第3部分:使用ajax4jsf添加Ajax功能

第4部分:使用ApacheTrinidad組件擴展JSF

第5部分:將JSF應用程序與Spring集成

ApacheGeronimo和Spring框架

第1部分:開發方法學

第2部分:構建第一個應用程序

第3部分:集成DAO與ORM

第4部分:混合使用SpringAOP和SpringWebFlow

第5部分:SpringMVC

第6部分:SpringMVC:使用Web視圖技術

終極mashup——Web服務和語義Web

第1部分:使用與組合Web服務

第2部分:管理Mashup數據緩存

第3部分:理解RDF和RDFs

第4部分:創建本體

第5部分:切換Web服務

Jersey2.x用戶指南

MyBatis中文文檔

JavaScript

GoogleJavaScript代碼風格指南

AirbnbJavaScript規范

JavaScript標准參考教程(alpha)

Javascript編程指南(源碼)

javascript的12個怪癖

JavaScript秘密花園

JavaScript核心概念及實踐(PDF)(此書已由人民郵電出版社出版發行,但作者依然免費提供PDF版本,希望開發者們去購買,支持作者)

《JavaScript模式》翻譯,此書中文版有售,但是紙質書翻譯的還沒有這個版本翻譯的好

命名函數表達式探秘(注:原文由為之漫筆翻譯,原始地址無法打開,所以此處地址為我博客上的備份)

學用JavaScript設計模式(開源中國)

深入理解JavaScript系列

ECMAScript6入門(作者:阮一峰)

jQuery

jQuery解構

簡單易懂的JQuery魔法

HowtowritejQueryplugin

Node.js

Node入門

七天學會NodeJS

NodejsWikiBook(繁體中文)

express.js中文文檔

koa中文文檔

使用Express+MongoDB搭建多人博客

Express框架

nodejs文檔

Node.js包教不包會

LearnYouTheNode.jsForMuchWin!(中文版)

Nodedebug三法三例

underscore.js

Underscore.js中文文檔

backbone.js

backbone.js入門教程(PDF)

Backbone.js入門教程第二版

DevelopingBackbone.jsApplications(中文版)

AngularJS

AngularJS最佳實踐和風格指南

AngularJS中譯本

AngularJS入門教程

構建自己的AngularJS

在Windows環境下用Yeoman構建AngularJS項目

zepto簡明中文手冊

Sea.js

HelloSea.js

CoffeeScript

CoffeeScriptCookbook

TheLittleBookonCoffeeScript中文版

ExtJS

Ext4.1.0中文文檔

Chrome擴展及應用開發

JavaScript入門教程

PHP

PHP調試技術手冊(PDF)

XDebug2中文手冊(譯)(CHM)

PHP之道

PHP最佳實踐

PHP安全最佳實踐

深入理解PHP內核

PHP擴展開發及內核應用

CodeIgniter用戶指南

Laravel4中文文檔

Laravel入門

Symfony2中文文檔(未譯完)

Phalcon中文文檔(翻譯進行中)

YiiBook幾本Yii框架的在線教程

簡單易懂的PHP魔法

swoole文檔及入門教程

iOS

iOS開發60分鍾入門

iOS7人機界面指南

GoogleObjective-CStyleGuide中文版

iPhone6屏幕揭秘

AppleWatch開發初探

馬上著手開發iOS應用程序

網易斯坦福大學公開課:iOS7應用開發字幕文件

Android

AndroidDesign(中文版)

GoogleAndroid官方培訓課程中文版

Android學習之路

Python

小白的Python教程

簡明Python教程

零基礎學Python

Python2.7官方教程中文版

Python3.3官方教程中文版

深入Python3

PEP8Python代碼風格規范

GooglePython風格指南中文版

Python入門教程(PDF)

Python的神奇方法指南

笨辦法學Python(PDF版下載)

Django文檔中文版

Django最佳實踐

TheDjangoBook中文版

web.py0.3新手指南

Web.pyCookbook簡體中文版

DiveIntoPython中文版

Bottle文檔中文版(需翻牆)

Flask文檔中文版

Jinja2文檔中文版

Werkzeug文檔中文版

Flask之旅

IntroctiontoTornado中文翻譯

Python自然語言處理中文版(感謝陳濤同學的翻譯,也謝謝?@shwley聯系了作者)

Python繪圖庫matplotlib官方指南中文翻譯

Scrapy0.25文檔

ThinkPython

Ruby

Ruby風格指南

Rails風格指南

笨方法學Ruby

RubyonRails指南

RubyonRails實戰聖經

RubyonRailsTutorial原書第2版(本書網頁版免費提供,電子版以PDF、EPub和Mobi格式提供購買,僅售9.9美元)

編寫Ruby的C拓展

Ruby源碼解讀

Shell

Shell腳本編程30分鍾入門

Go

Go編程基礎

Go入門指南

學習Go語言(PDF)

GoWeb編程(此書已經出版,希望開發者們去購買,支持作者的創作)

Go實戰開發(當我收錄此項目時,作者已經寫完第三章,如果讀完前面章節覺得有幫助,可以給作者捐贈,以鼓勵作者的繼續創作)

NetworkprogrammingwithGo中文翻譯版本

Groovy

實戰Groovy系列

LaTeX

一份其實很短的LaTeX入門文檔

一份不太簡短的LATEX2ε介紹(PDF版)

LISP

ANSICommonLisp中文翻譯版

Lua

Lua編程入門

Haskell

RealWorldHaskell中文版

R

R語言忍者秘笈

Scala

Scala課堂(Twitter的Scala中文教程)

EffectiveScala(Twitter的Scala最佳實踐的中文翻譯)

Scala指南

Swift

TheSwiftProgrammingLanguage中文版

Perl

ModernPerl中文版

Perl程序員應該知道的事

Prolog

笨辦法學Prolog

Vim中文文檔

Vimscript

笨方法學Vimscript中譯本

Vim中文文檔

讀書筆記及其它讀書筆記

編譯原理(紫龍書)中文第2版習題答案

把《編程珠璣》讀薄

EffectiveC++讀書筆記

Golang學習筆記、Python學習筆記、C學習筆記(PDF)

Jsoup學習筆記

學習筆記:Vim、Python、memcached

圖靈開放書翻譯計劃–C++、Python、Java等

蒂姆·奧萊利隨筆(由譯言網翻譯,電子版免費)

Octave入門(PDF版)

SICP解題集

精彩博客集合

正則表達式簡明參考

學習前端,有什麼好書推薦嗎?

對於零基礎想小白,想要自學成為前端人才,可以看看以下書籍

《圖解HTTP》:一本HTTP的神書,圖文並茂,生動形象,中猜非常適合小白學習。

《HeadFirstHTML與CSS(第2版)》:入門真的是經典書籍,手把手教學,豐富的案例讓你從0開始學前端。

《鋒利的jQuery》:作為第一本原因是jQuery入門快,你不會因為js的晦澀難懂而止步不前,因為學習jQuery後你可以自己寫一些可以即使看到效果的小項目從而提升興趣。

《Javascript高級程序設計》:書中涉及的概念基本涵蓋了js的大部分內容,包括作用域鏈、js數據類型、OOP對象在js中的實現、閉包、BOM和DOM模型、對變態IE的系列兼容的解決方案、事件流、還有xml、jason、E4X這些數據格式與js的交互操作簡介、高級技巧的介紹(比如惰性載入)等等

《高性能JavaScript》:揭示了技術和策略能幫助你在開發過程中消除性能瓶頸。你將會了解如何提升各方面的性能,包括代碼的載入、運行、DOM交互、頁面生存周期等。

《JavaScript設計模式與開發實踐》:騰訊前端AlloyTeam團隊出品,綜合講述前端的設計模式,設計原則,編程技巧,旁盯代碼重構等等。

《CSS世界》:CSS和javascript一樣,都是很容易上手,卻很難精通的。這本是前端知名博主張鑫旭的書籍,好評很多,講的很細致。

《CSS揭秘》:CSS進階必備書籍,47個css技巧讓你在面對各種css問題的時候游刃有餘。

《深入淺出Node.js》:針對Node的基本原理賣啟型做了深入,能讓你了解底層的Node實現

⑵ 推薦個入門angularjs 的好書,謝謝

angularjs是前端JavaScript中一種新的框架而且有跨時代的意義。

1、首先是其angularjs解決了JavaScript開發中頻繁獲取DOM操作的DOM的工作,完全解放了這個繁瑣的操作,完全不同於jQuery只將DOM操作封裝簡化。

2、AngularJS試圖成為WEB應用中的一種端對端的解決方案。這意味著它不只是你的WEB應用中的一個小部分,還是一個完整的端對端的解決方案。

3、AngularJS為開發者呈現一個更高層次的抽象來簡化應用的開發。

以上是個人對angularjs的一些優點的看法。

對於推薦的書籍:

1、對於初學者,個人推薦《angularjs權威教程》這本書,這本書是國外的作品但是有中文翻譯版,對於入門的初學者這本書完全夠用,完全弄懂這本書基本就能是一個中級的水平了。


最後,建議學習angular可以結合網上一些免費的視頻和官網的文檔來進行學習,這些可以讓學習者在較短的時間內迅速的掌握基礎知識入門。

⑶ angularjs官網為什麼上不去了

若您遇到了無法訪問AngularJS官網API的情況,可以嘗試訪問AngularJS愛好者們創建的一個開發指南中文翻譯項目展示站點。此站點提供了API內容,當前主要展示1.2.3版本,未來將根據時間安排更新至最新版本。相信這將對您有所幫助。

⑷ GitHub 上有哪些值得推薦的開源電子書

語言無關類
操作系統

  • 鳥哥的Linux私房菜 (簡體)

  • Linux 系統高級編程

  • The Linux Command Line (中英文版)

  • Linux 設備驅動 (第三版)

  • 深入分析Linux內核源碼

  • UNIX TOOLBOX

  • Docker中文指南

  • Docker —— 從入門到實踐

  • FreeRADIUS新手入門

  • Mac 開發配置手冊

  • FreeBSD 使用手冊

  • Linux 命令行(中文版)

  • 智能系統
  • 一步步搭建物聯網系統

  • web伺服器
  • Nginx開發從入門到精通 (淘寶團隊出品)

  • 版本控制
  • Git教程 (本文由 @廖雪峰 創作,如果覺得本教程對您有幫助,可以去 iTunes 購買)

  • git – 簡易指南

  • 猴子都能懂的GIT入門

  • Git 參考手冊

  • Pro Git

  • Git Magic

  • GotGitHub

  • Git Community Book 中文版

  • Mercurial 使用教程

  • HgInit (中文版)

  • 沉浸式學 Git

  • Git-Cheat-Sheet (感謝 @flyhigher139 翻譯了中文版)

  • GitHub秘籍

  • NoSQL
  • NoSQL資料庫筆談 (PDF)

  • Redis 設計與實現

  • Redis 命令參考

  • 帶有詳細注釋的 Redis 3.0 代碼

  • 帶有詳細注釋的 Redis 2.6 代碼

  • The Little MongoDB Book

  • The Little Redis Book

  • Neo4j 簡體中文手冊 v1.8

  • Neo4j .rb 中文資源

  • MySQL
  • MySQL索引背後的數據結構及演算法原理

  • 項目相關
  • 持續集成(第二版) (譯言網)

  • 讓開發自動化系列專欄

  • 追求代碼質量

  • selenium 中文文檔

  • Joel談軟體

  • 約耳談軟體(Joel on Software)

  • Web
  • 關於瀏覽器和網路的 20 項須知

  • 前端知識體系

  • 瀏覽器開發工具的秘密

  • Chrome 開發者工具中文手冊

  • Chrome擴展開發文檔

  • Grunt中文文檔

  • 移動Web前端知識庫

  • 正則表達式30分鍾入門教程

  • 前端開發體系建設日記

  • 移動前端開發收藏夾

  • JSON風格指南

  • HTTP 介面設計指北

  • 前端資源分享(一)

  • 前端資源分享(二)

  • 前端代碼規范 及 最佳實踐

  • w3school教程整理

  • 大數據
  • 大數據/數據挖掘/推薦系統/機器學習相關資源

  • 編程藝術
  • 程序員編程藝術

  • 每個程序員都應該了解的內存知識(譯)【第一部分】

  • 取悅的工序:如何理解游戲 (豆瓣閱讀,免費書籍)

  • 其他
  • OpenWrt智能、自動、透明翻牆路由器教程

  • 語言相關類 AWK
  • awk程序設計語言

  • C/C++
  • C++ 並發編程指南 (@傅海平ICT)

  • Linux C編程一站式學習 (宋勁杉, 北京亞嵌教育研究中心)

  • CGDB中文手冊

  • 100個gdb小技巧

  • 100個gcc小技巧

  • ZMQ 指南

  • How to Think Like a Computer Scientist (中英文版)

  • 跟我一起寫Makefile(PDF)

  • GNU make中文手冊

  • GNU make 指南

  • Google C++ 風格指南

  • C/C++ Primer (by @andycai)

  • 簡單易懂的C魔法

  • Cmake 實踐 (PDF版)

  • C++ FAQ LITE(中文版)

  • C++ Primer 5th Answers

  • CSS/HTML
  • 學習CSS布局

  • 通用 CSS 筆記、建議與指導

  • CSS參考手冊

  • Emmet 文檔

  • 前端代碼規范 (騰訊alloyteam團隊)

  • Dart
  • Dart 語言導覽

  • Fortran
  • Fortran77和90/95編程入門

  • Java
  • 實時 Java 系列

  • Apache Shiro 用戶指南

  • 使用 Eclipse 和 Java SE 6 創建獨立 Web Services 應用程序

  • 第 1 部分: Web Services 服務端應用程序

  • 第 2 部分: Web 服務客戶端應用程序

  • JavaServer Faces 1.2 入門

  • 第 1 部分: 構建基本應用程序

  • 第 2 部分: JSF 生命周期、轉換、檢驗和階段監聽器

  • 用 Eclipse Europa 進行 Web 開發

  • 第 1 部分: Eclipse Java EE

  • 第 2 部分: PHP 開發工具

  • 第 3 部分: Ruby Development Toolkit 和 RadRails

  • 使用 JavaServer Faces 構建 Apache Geronimo 應用程序

  • 第 1 部分: 使用 Eclipse 和 Apache MyFaces Core 構建基本的應用程序

  • 第 2 部分: 在 JavaServer Faces 中使用 Tomahawk

  • 第 3 部分: 使用 ajax4jsf 添加 Ajax 功能

  • 第 4 部分: 使用 Apache Trinidad 組件擴展 JSF

  • 第 5 部分: 將 JSF 應用程序與 Spring 集成

  • Apache Geronimo 和 Spring 框架

  • 第 1 部分: 開發方法學

  • 第 2 部分: 構建第一個應用程序

  • 第 3 部分: 集成 DAO 與 ORM

  • 第 4 部分: 混合使用 Spring AOP 和 Spring Web Flow

  • 第 5 部分: Spring MVC

  • 第 6 部分: Spring MVC:使用 Web 視圖技術

  • 終極 mashup —— Web 服務和語義 Web

  • 第 1 部分: 使用與組合 Web 服務

  • 第 2 部分: 管理 Mashup 數據緩存

  • 第 3 部分: 理解 RDF 和 RDFs

  • 第 4 部分: 創建本體

  • 第 5 部分: 切換 Web 服務

  • Jersey 2.x 用戶指南

  • MyBatis中文文檔

  • JavaScript
  • Google JavaScript 代碼風格指南

  • Airbnb JavaScript 規范

  • JavaScript 標准參考教程(alpha)

  • Javascript編程指南 (源碼)

  • javascript 的 12 個怪癖

  • JavaScript 秘密花園

  • JavaScript核心概念及實踐 (PDF) (此書已由人民郵電出版社出版發行,但作者依然免費提供PDF版本,希望開發者們去購買,支持作者)

  • 《JavaScript 模式》翻譯,此書中文版有售,但是紙質書翻譯的還沒有這個版本翻譯的好

  • 命名函數表達式探秘 (注:原文由為之漫筆翻譯,原始地址無法打開,所以此處地址為我博客上的備份)

  • 學用 JavaScript 設計模式 (開源中國)

  • 深入理解JavaScript系列

  • ECMAScript 6 入門 (作者:阮一峰)

  • jQuery

  • jQuery 解構

  • 簡單易懂的JQuery魔法

  • How to write jQuery plugin

  • Node.js

  • Node入門

  • 七天學會NodeJS

  • Nodejs Wiki Book (繁體中文)

  • express.js 中文文檔

  • koa 中文文檔

  • 使用 Express + MongoDB 搭建多人博客

  • Express框架

  • nodejs文檔

  • Node.js 包教不包會

  • Learn You The Node.js For Much Win! (中文版)

  • Node debug 三法三例

  • underscore.js

  • Underscore.js中文文檔

  • backbone.js

  • backbone.js入門教程 (PDF)

  • Backbone.js入門教程第二版

  • Developing Backbone.js Applications(中文版)

  • AngularJS

  • AngularJS最佳實踐和風格指南

  • AngularJS中譯本

  • AngularJS入門教程

  • 構建自己的AngularJS

  • 在Windows環境下用Yeoman構建AngularJS項目

  • zepto 簡明中文手冊

  • Sea.js

  • Hello Sea.js

  • CoffeeScript

  • CoffeeScript Cookbook

  • The Little Book on CoffeeScript中文版

  • ExtJS

  • Ext4.1.0 中文文檔

  • Chrome擴展及應用開發

  • JavaScript入門教程

  • PHP
  • PHP調試技術手冊(PDF)

  • XDebug 2中文手冊(譯) (CHM)

  • PHP之道

  • PHP 最佳實踐

  • PHP安全最佳實踐

  • 深入理解PHP內核

  • PHP擴展開發及內核應用

  • CodeIgniter 用戶指南

  • Laravel4 中文文檔

  • Laravel 入門

  • Symfony2中文文檔 (未譯完)

  • Phalcon中文文檔(翻譯進行中)

  • YiiBook幾本Yii框架的在線教程

  • 簡單易懂的PHP魔法

  • swoole文檔及入門教程

  • iOS
  • iOS開發60分鍾入門

  • iOS7人機界面指南

  • Google Objective-C Style Guide 中文版

  • iPhone 6 屏幕揭秘

  • Apple Watch開發初探

  • 馬上著手開發 iOS 應用程序

  • 網易斯坦福大學公開課:iOS 7應用開發字幕文件

  • Android
  • Android Design(中文版)

  • Google Android官方培訓課程中文版

  • Android學習之路

  • Python
  • 小白的Python教程

  • 簡明Python教程

  • 零基礎學Python

  • Python 2.7 官方教程中文版

  • Python 3.3 官方教程中文版

  • 深入 Python 3

  • PEP8 Python代碼風格規范

  • Google Python 風格指南 中文版

  • Python入門教程 (PDF)

  • Python的神奇方法指南

  • 笨辦法學 Python (PDF版下載)

  • Django 文檔中文版

  • Django 最佳實踐

  • The Django Book 中文版

  • web.py 0.3 新手指南

  • Web.py Cookbook 簡體中文版

  • Dive Into Python 中文版

  • Bottle 文檔中文版 (需翻牆)

  • Flask 文檔中文版

  • Jinja2 文檔中文版

  • Werkzeug 文檔中文版

  • Flask之旅

  • Introction to Tornado 中文翻譯

  • Python自然語言處理中文版 (感謝陳濤同學的翻譯,也謝謝 @shwley 聯系了作者)

  • Python 繪圖庫 matplotlib 官方指南中文翻譯

  • Scrapy 0.25 文檔

  • ThinkPython

  • Ruby
  • Ruby 風格指南

  • Rails 風格指南

  • 笨方法學 Ruby

  • Ruby on Rails 指南

  • Ruby on Rails 實戰聖經

  • Ruby on Rails Tutorial 原書第 2 版 (本書網頁版免費提供,電子版以 PDF、EPub 和 Mobi 格式提供購買,僅售 9.9 美元)

  • 編寫Ruby的C拓展

  • Ruby 源碼解讀

  • Shell
  • Shell腳本編程30分鍾入門

  • Go
  • Go編程基礎

  • Go入門指南

  • 學習Go語言 (PDF)

  • Go Web 編程 (此書已經出版,希望開發者們去購買,支持作者的創作)

  • Go實戰開發 (當我收錄此項目時,作者已經寫完第三章,如果讀完前面章節覺得有幫助,可以給作者捐贈,以鼓勵作者的繼續創作)

  • Network programming with Go 中文翻譯版本

  • Groovy
  • 實戰 Groovy 系列

  • LaTeX
  • 一份其實很短的 LaTeX 入門文檔

  • 一份不太簡短的 LATEX 2ε 介紹 (PDF版)

  • LISP
  • ANSI Common Lisp 中文翻譯版

  • Lua
  • Lua編程入門

  • Haskell
  • Real World Haskell 中文版

  • R
  • R語言忍者秘笈

  • Scala
  • Scala課堂 (Twitter的Scala中文教程)

  • Effective Scala(Twitter的Scala最佳實踐的中文翻譯)

  • Scala指南

  • Swift
  • The Swift Programming Language 中文版

  • Perl
  • Modern Perl 中文版

  • Perl 程序員應該知道的事

  • Prolog
  • 笨辦法學Prolog

  • Vim中文文檔

  • Vimscript
  • 笨方法學Vimscript 中譯本

  • Vim中文文檔

  • 讀書筆記及其它 讀書筆記
  • 編譯原理(紫龍書)中文第2版習題答案

  • 把《編程珠璣》讀薄

  • Effective C++讀書筆記

  • Golang 學習筆記、Python 學習筆記、C 學習筆記 (PDF)

  • Jsoup 學習筆記

  • 學習筆記: Vim、Python、memcached

  • 圖靈開放書翻譯計劃–C++、Python、Java等

  • 蒂姆·奧萊利隨筆 (由譯言網翻譯,電子版免費)

  • Octave 入門 (PDF版)

  • SICP 解題集

  • 精彩博客集合

  • 正則表達式簡明參考

⑸ 對比jQuery和AngularJS的不同思維模式

jQuery是dom驅動,AngularJS是數據驅動,這里有一篇文章闡述的非常好,建議看看

本文來自StackOverFlow上How do I 「think in AngularJS」 if I have a jQuery background?一題中得票最高的回答。該回答得票超過3000次,回答者Josh David Miller是活躍於開源社區的開發者,也是Emergenesis公司的聯合創始人。該答案最初由數雲架構師韓錚翻譯並發布在自己的博客上,在徵得Josh同意後由韓錚本人推薦給 InfoQ進行分享,並在經過InfoQ社區編輯崔康審校後發布在此。
1. 不要先設計頁面,然後再使用DOM操作來改變它的展現
在jQuery中,你通常會設計一個頁面,然後再給它動態效果。這是因為jQuery的設計就是為了擴充DOM並在這個簡單的前提下瘋狂的生長的。
但是在AngularJS里,必須從頭開始就在頭腦中思考架構。必須從你想要完成的功能開始,然後設計應用程序,最後來設計視圖,而非「我有這么一個DOM片段,我想讓他可以實現XXX效果」。
2. 不要用AngularJS來加強jQuery
類似的,不要以這樣的思維開始:用jQuery來做X,Y和Z,然後只需要把AngularJS的models和controllers加在這上面。這在剛開始的時候顯得非常誘人,這也是為什麼我總是建議AngularJS的新手完全不使用jQuery,至少不要在習慣使用「Angular Way」開發之前這么做。
我在郵件列表裡看到很多開發者使用150或200行代碼的jQuery插件創造出這些復雜的解決方案,然後使用一堆callback函數以及$apply把它粘合到AngularJS里,看起來復雜難懂;但是他們最終還是把它搞定了!問題是在大多數情況下這些jQuery插件可以使用很少的AngularJS代碼重寫,而且所有的一切都很簡單直接容易理解。
這里的底線是:當你選擇解決方案時,首先「think in AngularJS」;如果想不出一個解決方案,去社區求助;如果還是沒有簡單的解決方案,再考慮使用jQuery。但是不要讓jQuery成為你的拐杖,導致你永遠無法真正掌握AngularJS。
3. 總是以架構的角度思考
首先要知道Single-page應用是應用,不是網頁。所以我們除了像一個客戶端開發者般思考外,還需要像一個伺服器端開發者一樣思考。我們必須考慮如何把我們的應用分割成獨立的,可擴展且可測試的組件。
那麼如何做到呢?如何「think in AngularJS」?這里有一些基本原則,對比jQuery。
視圖是「Official Record」
在jQuery里,我們編程改變視圖。我們會將一個下拉菜單定義為一個ul :
<ul class="main-menu">
<li class="active"> <a href="#/home">Home</a> </li>
<li> <a href="#/menu1">Menu 1</a>
<ul>
<li><a href="#/sm1">Submenu 1</a></li>
<li><a href="#/sm2">Submenu 2</a></li>
<li><a href="#/sm3">Submenu 3</a></li>
</ul>
</li>
<li> <a href="#/home">Menu 2</a> </li>
</ul>

在jQuery里,我們會在應用邏輯里這樣啟用這個下拉菜單:
$('.main-menu').dropdownMenu();

當我們只關注視圖,這里不會立即明顯的體現出任何(業務)功能。對於小型應用,這沒什麼不妥。但是在規模較大的應用中,事情就會變得難以理解且難以維護。
而在AngularJS里,視圖是基於視圖的功能。ul聲明就會像這樣:
<ul class="main-menu" dropdown-menu> ... </ul>

這兩種方式做了同樣的東西,但是在AngularJS的版本里任何人看到這個模版都可以知道將會發生什麼事。不論何時一個新成員加入開發團隊,他看到這個就會知道有一個叫做dropdownMenu的directive作用在這個標簽上;他不需要靠直覺去猜測代碼的功能或者去看任何代碼。視圖本身告訴我們會發生什麼事。清晰多了。
首次接觸AngularJS的開發者通常會問這樣一個問題:如何找到所有的某類元素然後給它們加上一個directive。但當我們告訴他:別這么做時,他總會顯得非常的驚愕。而不這么做的原因是這是一種半jQuery半AngularJS的方式,這么做不好。這里的問題在於開發者嘗試在 AngularJS的環境里「do jQuery」。這么做總會有一些問題。視圖是official record(譯者註:作者可能想表達視圖是一等公民)。在一個directive外,絕不要改變DOM。所有的directive都應用在試圖上,意圖非常清晰。
記住:不要設計,然後寫標簽。你需要架構,然後設計。
數據綁定
這是到現在為止最酷的AngularJS特性。這個特性使得前面提到的很多DOM操作都顯得不再需要。AngularJS會自動更新視圖,所以你自己不用這么做!在jQuery里,我們響應事件然後更新內容,就像這樣:
$.ajax({
url: '/myEndpoint.json',
success: function ( data, status ) {
$('ul#log').append('<li>Data Received!</li>');
}
});

對應的視圖:
<ul class="messages" id="log"> </ul>

除了要考慮多個方面,我們也會遇到前面視圖中的問題。但是更重要的是,需要手動引用並更新一個DOM節點。如果我們想要刪除一個log條目,也需要針對DOM編碼。那麼如何脫離DOM來測試這個邏輯?如果想要改變展現形式怎麼辦?
這有一點凌亂瑣碎。但是在AngularJS里,可以這樣來實現:
$http('/myEndpoint.json').then(function (response) {
$scope.log.push({
msg: 'Data Received!'
});
});

視圖看起來是這個樣子的:
<ul class="messages"> <li ng-repeat="entry in log"></li> </ul>

但是其實還可以這樣來做:
<div class="messages"> <div class="alert" ng-repeat="entry in log"> </div> </div>

現在如果我們想使用Bootstrap的alert boxes,而不是一個無序列表,根本不需要改變任何的controller代碼!更重要的是,不論log在何處或如何被更新,視圖便會隨之更新。自動的。巧妙!
盡管我沒有在這里展示,數據綁定其實是雙向的。所以這些log信息在視圖里也可以是可編輯的。只需要這么做:
<input ng-model="entry.msg" />

。簡單快樂。
清晰的模型(Model)層
在jQuery里,DOM在一定程度上扮演了模型的角色。但在AngularJS中,我們有一個獨立的模型層可以靈活的管理。完全與視圖獨立。這有助於上述的數據綁定,維護了關注點的分離(獨立的考慮視圖和模型),並且引入了更好的可測性。後面還會提到這點。
關注點分離
上面所有的內容都與這個願景相關:保持你的關注點分離。視圖負責展現將要發生的事情;模型表現數據;有一個service層來實現可復用的任務;在 directive裡面進行DOM操作和擴展;使用controller來把上面的東西粘合起來。這在其他的答案里也有敘述,我在這里只增加關於可測試性的內容,在後面的一個段落里詳述。
依賴注入
依賴注入幫我們實現了關注點分離。如果你來自一個伺服器語言(java或php),可能對這個概念已經非常熟悉,但是如果你是一個來自jQuery的客戶端開發者,這個概念可能看起來有點傻而多餘。但其實不是的。。。
大體來講,DI意味著可以非常自由的聲明組件,然後在另一個組件里,只需要請求一個該組件的實例,就可以得到它。不需要知道(關心)載入順序,或者文件位置,或類似的事情。這種強大可能不會立刻顯現,但是我只提供一個(常見。。)的例子:測試。
就說在你的應用里,我們需要一個服務通過REST API來實現伺服器端存儲,並且根據不同的應用狀態,也有可能使用(客戶端)本地存儲。當我們運行controller的測試時,不希望必須和伺服器交互 —— 畢竟是在測試controller邏輯。我們可以只添加一個與本來使用的service同名的mock service,injector會確保controller自動得到假的那個service —— controller不會也不需要知道有什麼不同。
說起測試……
4. 總是 —— 測試驅動開發
這其實是關於架構的第3節。但是它太重要了,所以我把它單獨拿出來作為一個頂級段落。
在所有那些你見過,用過或寫過的jQuery插件中,有多少是有測試集的?不多,因為jQuery經不起測試的考驗。但是AngularJS可以。
在jQuery中,唯一的測試方式通常是獨立地創建附帶sample/demo頁面的組件,然後我們的測試在這個頁面上做DOM操作。所以我們必須獨立的開發一個組件,然後集成到應用里。多不方便!在使用jQuery開發時,太多的時間,我們挑選迭代而非測試驅動開發。誰又能責怪我們呢?
但是因為有了關注點分離,我們可以在AngularJS中迭代地做測試驅動開發!例如,想要一個超級簡單的directive來展現我們的當前路徑。可以在視圖里聲明:
<a href="/hello" when-active>Hello</a>

OK,現在可以寫一個測試:
it('should add "active" when the route changes', inject(function () {
var elm = $compile('<a href="/hello" when-active>Hello</a>')($scope);
$location.path('/not-matching');
expect(elm.hasClass('active')).toBeFalsey();
$location.path('/hello');
expect(elm.hasClass('active')).toBeTruthy();
}));

執行這個測試來確認它是失敗的。然後我們可以開始寫這個directive了:
.directive('whenActive', function ($location) {
return {
scope: true,
link: function (scope, element, attrs) {
scope.$on('$routeChangeSuccess', function () {
if ($location.path() == element.attr('href')) {
element.addClass('active');
} else {
element.removeClass('active');
}
});
}
};
});

測試現在通過了,然後我們的menu按照請求的方式執行。開發過程既是迭代的也是測試驅動的。太酷了。
5. 概念上,Directives並不是打包的jQuery
你經常會聽到「只在directive里做DOM操作」。這是必需的。請給它應有的尊重!
但讓我們再深入一點……
一些directive僅僅裝飾了視圖中已經存在的東西(想想ngClass)並且因此有時候僅僅直接做完DOM操作然後就完事了。但是如果一個 directive像一個「widget」並且有一個模版,那麼它也要做到關注點分離。也就是說,模版本身也應該很大程度上與其link和 controller實現保持獨立。
AngularJS擁有一整套工具使這個過程非常簡單;有了ngClass我們可以動態地更新class;ngBind使得我們可以做雙向數據綁定。ngShow和ngHide可編程地展示和隱藏一個元素;以及更多地 —— 包括那些我們自己寫的。換句話說,我們可以做到任何DOM操作能實現的特性。DOM操作越少,directive就越容易測試,也越容易給它們添加樣式,在未來也越容易擁抱變化,並且更加的可復用和發布。
我見過很多AngularJS新手,把一堆jQuery扔到directive里。換句話說,他們認為「因為不能在controller里做DOM操作,就把那些代碼弄到directive里好了」。雖然這么做確實好一些,但是依然是錯誤的。
回想一下我們在第3節里寫的那個logger。即使要把它放在一個directive里,我們依然希望用「Angular Way」來做。它依然沒有任何DOM操作!有很多時候DOM操作是必要的,但其實比你想的要少得多!在應用里的任何地方做DOM操作之前,問問你自己是不是真的需要這么做。有可能有更好的方式。
這里有一個示例,展示出了我見過最多的一種模式。我們想做一個可以toggle的按鈕。(注意:這個例子有一點牽強、啰嗦,這是為了表達出使用同樣方式處理問題的更復雜的情況。)
.directive('myDirective', function () {
return {
template: '<a class="btn">Toggle me!</a>',
link: function (scope, element, attrs) {
var on = false;
$(element).click(function () {
if (on) {
$(element).removeClass('active');
} else {
$(element).addClass('active');
}
on = !on;
});
}
};
});

這里有一些錯誤的地方。首先,jQeury根本沒必要出現。我們在這里做的事情都根本用不著jQuery!其次,即使已經將jQuery用在了頁面上,也沒有理由用在這里。第三,即使假設這個directive依賴jQuery來工作,jqLite(angular.element)在載入後總會使用jQuery!所以我們沒必要使用$ —— 用angular.element就夠了。第四,和第三條緊密關聯,jqLite元素不需要被$封裝 —— 傳到link里的元素本來就會是一個jQuery元素!第五,我們在前面段落中說過,為什麼要把模版的東西混到邏輯里?
這個directive可以(即使是更復雜的情況下!)寫得更簡單:
.directive('myDirective', function () {
return {
scope: true,
template: '<a class="btn" ng-class="{active: on}" ng-click="toggle()">Toggle me!</a>',
link: function (scope, element, attrs) {
scope.on = false;
scope.toggle = function () {
scope.on = !$scope.on;
};
}
};
});

再一次地,模版就在模版里,當有樣式需求時,你(或你的用戶)可以輕松的換掉它,不用去碰邏輯。重用性 —— boom!
當然還有其他的好處,像測試 —— 很簡單!不論模版中有什麼,directive的內部API從來不會被碰到,所以重構也很容易。可以不碰directive就做到任意改變模版。不論你怎麼改,測試總是通過的。
所以如果directive不僅僅是一組類似jQuery的函數,那他們是什麼?Directive實際是HTML的擴展。如果HTML沒有做你需要它做的事情,你就寫一個directive來實現,然後就像使用HTML一樣使用它。
換句話說,如果AngularJS庫沒有做的一些事情,想想開發團隊會如何完成它來配合ngClick,ngClass等。
總結
不要用jQuery。連include也不要。它會讓你停滯不前。如果遇到一個你認為已經知道如何使用jQuery來解決的問題,在使用$之前,試試想想如何在AngularJS的限制下解決它。如果你不知道,問!20次中的19次,最好的方式不需要jQuery。如果嘗試使用jQuery會增加你的工作量。
這是我目前最長的Stack Overflow回答。事實上,這個答案太長了,我都要填一個Captcha了。但是就如我常說的:能說多時候說的少其實就是懶。
希望這個答案對你有用。

⑹ 我需要 AngularJS權威教程.ng-book,求書籍求分享百度網盤!謝好人!

我這有資源 可以看下 AngularJS權威教程.ng-bookhttps://pan..com/s/1S7P_pU0CUoybH7fvF5uhuw?pwd=1234

提取碼:1234

本書是資深全棧工程師的代表性著作,由擁有豐富經驗的國內AngularJS技術專家執筆翻譯,通俗易懂、全面深入,是學習AngularJS不可錯過的經典之作。無論是出於工作需要,還是好奇心的驅使,只要你想徹底理解AngularJS,本書都會讓你感到滿意。

閱讀全文

與angularjs翻譯文件緩存相關的資料

熱點內容
大數據怎麼挖鑽石礦 瀏覽:898
二手文件櫃多少錢 瀏覽:832
榮威i6起動模塊怎麼編程 瀏覽:378
順產剖宮產如何選擇app 瀏覽:695
剪映視頻素材在哪個文件夾 瀏覽:142
百度網盤免登陸換賬號密碼嗎 瀏覽:405
小企業庫存數據包括哪些指標 瀏覽:37
docs文件怎麼編輯圖片 瀏覽:659
js滑鼠移向商品顯示浮動框 瀏覽:860
電腦中病毒文件被隱藏的文件 瀏覽:47
kindle無法升級 瀏覽:977
如何在excel單元格中插入文件 瀏覽:920
三菱編程軟體怎麼讀取程序 瀏覽:611
c寫文件16進制 瀏覽:488
添加一個網路位置ftp 瀏覽:499
creo20模具設計視頻教程 瀏覽:501
墨記app中怎麼刪除分類 瀏覽:378
c讀取文件最後一行 瀏覽:545
agilejava高清中文版 瀏覽:576
angularjs翻譯文件緩存 瀏覽:59

友情鏈接