`
lxz8999
  • 浏览: 2338 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

使用angularJS的三个重要原因

    博客分类:
  • j2ee
阅读更多
如果你不熟悉什么是Angular.js的话,小编我强烈推荐你阅读 Javascript教程:AngularJS的五个超酷特性。简单来说Angular.js是google开发者设计和开发的一套前端开发框架,帮助你简化前端开发的负担。当然,这里有很多其它的前端开发框架,但是如何选择合适的前端框架对于我们这些开发人员来说就不是那么容易了!在今天的这篇文章中,我们将介绍三个你应该使用Angular.js的重要原因,希望大家觉得有帮助!

原因一:Google开发的框架

要知道开源界的很多框架都是开发人员由于个人兴趣或者激情而开发出来的,比如,Cappucino 还有 Knockout。而anguar.js是由互联网巨人Google组织开发的。这意味这你有更加强大的社区支持。谁都不希望第一天开始使用一个框架,第二天发现这个框架已经被遗弃了吧!

其实这不是Google第一次尝试开发javascript的前端框架,大家可能还记得Web Toolkit,用来帮助你将java代码转化为javasscript代码。过去google的wave推广用它来开发项目。随着HTML5,CSS3和javascript的发展,Google发现web应用并非意味着只使用纯Java来实现。

AngularJS将帮助标准化的开发web应用结构并且提供了针对客户端应用的未来开发使用的模板

versin 1.0 发布在6个月前,已经被很多的应用实践过了,包括商业应用及其产品。Angularjs作为可选的架构必将成为整个开发社区的明星。因为AngualrJS是google开发的产品,所以注定了你将有一个坚实的基础,相信它能够成为你的最佳选择!

原因二:AngularJS非常全面

类似 Backbone 或者 JavaScriptMVC,anguar是一个快速的前端开发解决方案。没有其它的插件或者架构足以开发数据驱动的web应用。下面列出了AnguarJS的一些特性:

方便的REST: RESTful逐渐成为了标准的服务器和客户端沟通的方式。使用一行javascript代码,你就可以快速的从服务器端得到数据。AugularJS将这些变成了JS对象,作为Model,遵循MVVM(model view view-model)设计模式。

MVVM救星:Model将和ViewModel互动(通过$scope对象),将监听Model的变化。这些可以通过View来发送和渲染,由HTML来展示你的代码。View可以通过$routeProvider对象来支配,所以你可以深度的链接和组织你的View和Controller,将他们变成导航URL。AngualrJS同时提供了无状态的Controller,可以用来初始化和控制$scope对象。

数据绑定和依赖注入:在MVVM设计模式中的任何东西无论发生任何事情都自动的和UI通信。这帮助我们去除了wrapper,getter/setter方法或者class定义。AngularJS将帮助我们处理所有的这些内容,所以你可以处理数据像处理基本javascript数据类型,例如,数组一样简单。当然你也可以通过自定义处理复杂数据。正因为所有事情的发生都是自动的,所以你不必调用一个main()来执行你的代码,而是通过依赖关系来驱动。

可扩展的HTML:大多数的网站都是使用非语义的<div>标签来搭建的。你需要自己在CSS的class中定义相关的DOM层次结构。而使用AngularJS,你可以操作XML一样操作HTML,给你无穷的方式来完成标签和属性定义。AngularJS通过自己的编译器和directives来完成相关的设置。

使用HTML模板:如果你曾经使用过Mustache , Hogan.js,或者handlerbars的话,你就可以快速的理解AngularJS的模板引擎语法,应为它是纯HTML的。AngularJS通过DOM浏览来完成此类功能,使用上面提到的directives。模板被作为DOM元素传递到Angular的编译器中,可以被扩展,执行或者重用。这很关键,这样一来你就拥有了DOM组件,而非字符串,允许你直接的操作扩展DOM树。

企业级别的测试:AnguarJS并不依赖于第三方的插件或者是框架,包括测试。如果你熟悉QUnit, Mocha 或者 Jasmine的话,那么对于理解Angular的单元测试和Scenario Runner来说就非常简单。

以上的这些基本的原则能够帮助知道你使用Angular来创建高效性能可维护的代码。只要你有代码保存数据,AnguarJS会帮助你处理所有的重量级内容,提供一个富客户端的超棒体验!

原因三:花几分钟就可以开始开发

学习Angular非常简单。添加几个属性到你的HTML中,你可以使用5分钟搭建一个应用!

添加ng-app directive到<html>标签,这样Angular知道应该运行:

    <html lang="en" ng-app>

添加Angular<script>标签到<head>标签里:

    <head>
    ...meta and stylesheet tags...
     <script src="lib/angular/angular.js"></script>

添加正常的HTML标签。AngularJS directive可以在HTML属性中被访问,而表单式将使用两个大括号来标示:

    <body ng-controller="ActivitiesListCtrl">
      <h1>Today's activities</h1>
      <ul>
       <li ng-repeat="activity in activities">
         {{activity.name}}
       </li>
      </ul>
    </body>
    </html>

ng-controller directive设置了一个名字空间,这里我们可以添加angular的相关javascript来处理数据和表达式。ng-repeat是一个angular的重复对象,可以用来创建一系列的对象元素。

当你想从Anguar中获取数据,你使用一个对应名字的controller方法,如下:

    function ActivitiesListCtrl($scope) {
      $scope.activities = [
        { "name": "Wake up" },
        { "name": "Brush teeth" },
        { "name": "Shower" },
        { "name": "Have breakfast" },
        { "name": "Go to work" },
        { "name": "Write a Nettuts article" },
        { "name": "Go to the gym" },
        { "name": "Meet friends" },
        { "name": "Go to bed" }
      ];
     }

这里我们创建了一个方法,名字和前面的ng-controller directive一样,这样我们页面可以找到对应的Angular方法来执行。我们传递了$(scope)对象来访问模板中的activities列表。提供了activities对应的name,我们在页面中使用"{{expression}}"表达式展现出来。

或者你保存数据在服务器上,我们同样可以使用AJAX获取数据:

    function ActivitiesListCtrl($scope) {
      $http.get('activities/list.json').success(function (data) {
        $scope.activities = data;
      }
    }

这里我们简单的使用指定的HTTP GET方法替换了本地的javascript数据。传递了文件名字来获取相关数据。这和jQuery的方式非常类似。

以上我们使用success方法确保数据返回,并且将数据绑定到了$scope上。

静态的列表显示的很好,但是这里我们希望能够根据用户选择自动排序。这里我们添加一个简单的下拉菜单:

    <h3>Sort:</h3>
    <select>
       <option value="name">Alphabetically</option>
     </select>

添加directive:

    <select ng-model="sortModel">

最后,我们修改<li>标签来识别sortModel:

    <li ng-repeat="activity in activities | orderBy: sortModel">

搞定!关键是添加在ng-repeat里的过滤器。orderBy过滤器帮助我们通过选择的内容来过滤内容。

注意我们代码中没有监听用户的互动事件。没有使用callback或者事件处理。所有的这些都被Angular内部处理了。

当然AngularJS提供了我们一个完整的教程,帮助你创建一个web应用,如果大家有兴趣可以看看!

总结

AngularJS快速的成为了javascript的主流框架,帮助你专业的从事web开发

如果你寻找或者评估一个成熟的js前端框架的话,AngularJS应用成为你的评估对象之一。最重要的是:免费下载 - AngularJS.org。

原文链接:http://gbin1.com/gb/share/262.htm

分享到:
评论

相关推荐

    AngularJS详细使用说明从零到高

    ### AngularJS详细使用说明从零到高手 #### 一、AngularJS概述 AngularJS是一个用于构建动态Web应用程序的开源框架,由Google维护和支持。AngularJS的设计理念是将HTML作为模板语言,并通过扩展其语法来更好地定义...

    使用AngularJS编写较为优美的JavaScript代码指南

    在开始编写AngularJS代码之前,了解模块的概念至关重要。 ### 二、控制器与数据绑定 在AngularJS中,控制器是应用程序业务逻辑的主要承载者。它们负责处理视图与模型之间的交互,通常通过`ng-controller`指令定义...

    JS AngularJS 学习笔记

    AngularJS中的MVC架构将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。模型存储应用的数据,视图负责展示这些数据,而控制器处理用户交互,更新模型并反映到视图上。这种分层结构...

    如何使用angularJs

    AngularJS的核心是MVC(Model-View-Controller)模式的实现,这个模式旨在将应用分为三个核心部分,以增强应用的可维护性和扩展性。此外,AngularJS通过数据绑定、依赖注入等特性,简化了前端开发流程。 AngularJS...

    Mastering Web Application Development with AngularJS

    《精通AngularJS》深入浅出地讲解了AngularJS的开发概念和原理,并通过丰富的开发实例向读者展示了构建复杂应用的完整过程,包括学习使用AngularJS特有的基于DOM的模板系统,实现复杂的后端通信,创建漂亮的表单,...

    Angularjs_in_action

    通过一个简单的“Hello World”示例,介绍了如何开始使用AngularJS。 - **第2章**:进一步深入AngularJS的基础知识,如控制器、作用域、模板等核心概念。 - **第二部分**:深入AngularJS。这部分内容将涵盖更高级的...

    一个基于angularjs2的脚手架

    使用这个基于AngularJS 2的脚手架,开发者可以遵循以下步骤: 1. 安装Angular CLI工具,用于创建、构建和运行项目。 2. 克隆或下载angularjs-demo-master压缩包并解压。 3. 进入项目目录,安装依赖:`npm install`...

    MovieCat用angularjs写的一个前端网页

    《使用AngularJS构建MovieCat前端网页的深度解析》 在当今的Web开发领域,JavaScript框架的应用日益广泛,其中AngularJS以其强大的数据绑定和模块化功能备受开发者青睐。本篇文章将深入探讨如何使用AngularJS来构建...

    angularjs -plugin

    **三、如何安装和使用AngularJS插件** 1. **Visual Studio Code**:在市场中搜索AngularJS插件,点击安装后,重启IDE即可开始使用。 2. **IntelliJ IDEA**:同样在插件市场中搜索,安装后需重启IDE。此外,IDE通常...

    尚硅谷AngularJS笔记

    angularjs入门,四个重要概念,三个重要对象,两个页面语法

    AngularJS1.x快速入门

    - **定义**:AngularJS是一款由Google维护的开源JavaScript框架,主要用于构建动态Web应用程序。它采用MVC(Model-View-Controller)设计模式,并实现了MVVM(Model-View-ViewModel)模式的数据双向绑定特性,使得...

    AngularJS UI Development

    - **最佳实践**:分享AngularJS开发中的一些最佳实践,如遵循DRY原则(Don't Repeat Yourself)、使用命名空间避免变量冲突、合理使用依赖注入等。 综上所述,AngularJS作为一个成熟的前端开发框架,为开发者提供了...

    AngularJS笔记

    AngularJS是一个开源的JavaScript框架,由Google维护,主要用于构建动态的Web应用程序。它的设计理念是将MVC(Model-View-Controller)模式应用于单页应用程序(SPA),使得前端开发更加高效、结构化。 **初始化...

    angularjs+boorstrap视频教程

    #### 三、AngularJS与Bootstrap结合使用 1. **优势互补**: - **前端界面**:Bootstrap提供的丰富UI组件可以帮助开发者快速构建美观且响应式的界面。 - **后端逻辑**:AngularJS的强大数据绑定和模块化能力使得...

    AngularJS包

    在给定的“AngularJS包”中,包含了三个重要的组成部分:`angularjs`、`angularjs-animate`和`angularjs-route`。 1. **angularjs**: 这是AngularJS的核心库,包含了框架的基本功能。它提供了MVC(Model-View-...

    angularjs压缩包

    这个压缩包包含的是 AngularJS 1.6.3 版本的源码,该版本是 AngularJS 的一个重要里程碑,它引入了许多稳定性和性能的改进。 AngularJS 的核心设计理念是数据绑定和依赖注入。数据绑定使得视图与模型之间的同步变得...

    Angularjs和ui-router的一个栗子

    AngularJS 是一个强大的前端JavaScript框架,由Google维护,主要用于构建单页应用程序(SPA)。它提供了丰富的功能,如双向数据绑定、指令、服务、过滤器等,使得开发动态Web应用更为简便。UI-Router是AngularJS的一...

    AngularJs学习笔记.docx

    ### AngularJS 学习笔记 #### 一、AngularJS 概述 ...对于初学者来说,掌握 AngularJS 的基础知识是非常重要的第一步。随着对框架的深入理解,开发者将能够利用更多的高级特性来构建复杂的应用程序。

    angularjs1.3

    AngularJS 1.3 是一个历史悠久且广泛使用的前端JavaScript框架,由Google开发并维护,用于构建动态Web应用程序。这个框架以其MVC(Model-View-Controller)架构模式、数据绑定和依赖注入等特性而著名,极大地提高了...

Global site tag (gtag.js) - Google Analytics