转: angularjs基础教程(~~较通俗)

Angularjs-基础教程(1)

很久没有写过东西了,感觉写东西都不知道从哪里开始了,现在还是先写点技术性的吧,angularjs--我兄弟把它叫成“俺哥啦js”

1.下载

官方网址:https://angularjs.org/

CDN:https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.5/angular.min.js

2.简单介绍使用

  • 1.ng-app  

~~~angularjs的渲染范围

决定了angularjs的作用域范围,你可以如下使用

<html ng-app> 

…
</html>

来让angularjs渲染整个页面,也可以使用

<div ng-app=‘myapp‘>
……
</div>

来渲染其中的一部分。

  • 2.ng-model

~~ 模型和视图的双向数据绑定  ng-model称为指令  {{test}} angularjs的表达式

ng-model,当你的数据模型被改变的时候,譬如ng-model=‘test‘,其中这个test的数值被改变的时候,{{test}}的数值也将跟随改变,也就是连接到ng-model中的test也跟随改变,如下

<!doctype html>
<html>
  <head>
    <script src="angular.min.js" type="text/javascript"></script>
    <title>learing argularjs--widuu</title>
  </head>
  <body ng-app>
  <input ng-model=‘test‘ >{{test}}
  </body>
</html>

  • 3.angular.module

这个主要是做模块的注册,创建和索引,譬如我们ng-app想把这个注册成为一个服务就要用,当我们索引一个模块的时候也要使用

~~简单定义  myModule  = angular.module(‘myModuleName‘, []); //返回一个模块实例

angular.module(name, [requires], [configFn]);
#name       类型string创建的检索模块的名称
#requires   简单理解就是你需要包含的使用模块,譬如ngRoute路由模块
#configFn   可以选配的功能模块,功能和module.config类似
  • 4.controller

~~~ 感觉控制器和作用域对象是一一对应的,控制器内定义作用域的数据和行为

mycontroller = mymodule.controller(‘controllerName‘, controllerConstructor); //传入控制器名 和 控制器构造函数

controller是angular.Module中的方法controller(name, constructor);其中name是controller的名字,constructor是控制器构造函数,我们利用一段代码来说明

<!doctype html>
<html>
  <head>
    <script src="angular.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    var app = angular.module(‘myapp‘,[]);
    app.controller(‘mytest‘,function($scope){
      $scope.test="hello word";
    });
    </script>
    <title>learing argularjs--widuu</title>
  </head>
  <body ng-app=‘myapp‘ ng-controller=‘mytest‘ >
  <input ng-model=‘test‘>{{test}}
  </body>
</html>

  • 5.value

~~mymodule.value(name, object); // 其实就是配置模块内的变量和它的值

value也是angular.Module中的方法value(name, object);其中name是service的名称,object是服务器实例对象,这个时候我们就可以把上边的代码修改正成这样

<!doctype html>
<html>
  <head>
    <script src="angular.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    var app = angular.module(‘myapp‘,[])
    .value(‘testvalue‘,‘word‘);
    app.controller(‘mytest‘,function($scope,testvalue){
      $scope.test="hello "+ testvalue;
    });
    </script>
    <title>learing argularjs--widuu</title>
  </head>
  <body ng-app=‘myapp‘ ng-controller=‘mytest‘ >
  <input ng-model=‘test‘>{{test}}
  </body>
</html>
  • 5.factory

~~mymodule.factory(name, providerFn);  调用工厂函数providerFn,返回的对象保存为name, name在模块内可访问

factory也是angular.Module中的方法factory(name, providerFunction);;其中name是service的名称,providerFunction是函数用于创建新的服务器对象,这个时候我们就可以把上边的代码修改正成这样

<!doctype html>
<html>
  <head>
    <script src="angular.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    var app = angular.module(‘myapp‘,[])
      .value(‘testvalue‘,‘widuu‘)
      .factory(‘testfactory‘,function(testvalue){
        return{
          lable:function(){
            return "this can output : hello "+ testvalue;
          }
        }
      });
    app.controller(‘mytest‘,function($scope,testvalue,testfactory){
      $scope.test = "hello "+ testvalue;
      $scope.output = testfactory.lable();
    });
    </script>
    <title>learing argularjs--widuu</title>
  </head>
  <body ng-app=‘myapp‘ ng-controller=‘mytest‘ >
  <input ng-model=‘test‘>{{test}}
  </p>
    {{output}}
  </body>
</html>

  • 6.provider

~~mymodule.provider(name, providerFn);  个人觉得其实就是执行了name={},  providerFn.call(name)

provider也是angular.Module中的方法provider(name, providerType);其中name是service的名称,providerFunction是函数用于创建新的服务器对象,这个跟factory差不多,我们现在用provider重写

<!doctype html>
<html>
  <head>
    <script src="angular.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    var app = angular.module(‘myapp‘,[])
      .value(‘testvalue‘,‘widuu‘)
      .provider(‘testprovider‘,
        function(){
          this.lable = "this will output : hello widuu";
          this.$get = function () {
             return this;
           }
        }
      );
    app.controller(‘mytest‘,function($scope,testvalue,testprovider){
      $scope.test = "hello "+ testvalue;
      $scope.output = testprovider.lable;
    });
    </script>
    <title>learing argularjs--widuu</title>
  </head>
  <body ng-app=‘myapp‘ ng-controller=‘mytest‘ >
  <input ng-model=‘test‘>{{test}}
  </p>
    {{output}}
  </body>
</html>
  • 7.service

~~mymodule.service(‘name‘, constructor); //其实就是执行了 name = new constructor();

service也是angular.Module中的方法service(name, constructor);其中name是service的名称,constructor一个将被实例化的构造函数,这个跟factory差不多,我们现在用service重写

<!doctype html>
<html>
  <head>
    <script src="angular.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    var app = angular.module(‘myapp‘,[])
      .value(‘testvalue‘,‘widuu‘)
      .service(‘testservice‘,
        function(testvalue){
          this.lable = function(){
            return "this will output:hello "+testvalue;
          }
        }
      );
    app.controller(‘mytest‘,function($scope,testvalue,testservice){
      $scope.test = "hello "+ testvalue;
      $scope.output = testservice.lable();
    });
    </script>
    <title>learing argularjs--widuu</title>
  </head>
  <body ng-app=‘myapp‘ ng-controller=‘mytest‘ >
  <input ng-model=‘test‘>{{test}}
  </p>
    {{output}}
  </body>
</html>
  • 8.constant

~~mymodule. constant(name, object); 模块内定义常量

constant也是angular.Module中的方法constant(name, object);其中name是常量的名称,而object是常量的值,我们可以这样写的

<!doctype html>
<html>
  <head>
    <script src="angular.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    var app = angular.module(‘myapp‘,[])
      .value(‘testvalue‘,‘widuu‘)
      .constant(‘count‘,23)
      .service(‘testservice‘,
        function(testvalue,count){
          this.lable = function(){
            return "this will output:hello "+testvalue+",age is "+count;
          }
        }
      );
    app.controller(‘mytest‘,function($scope,testvalue,testservice){
      $scope.test = "hello "+ testvalue;
      $scope.output = testservice.lable();
    });
    </script>
    <title>learing argularjs--widuu</title>
  </head>
  <body ng-app=‘myapp‘ ng-controller=‘mytest‘ >
  <input ng-model=‘test‘>{{test}}
  </p>
    {{output}}
  </body>
</html>

今天就写到这里,然后以后继续,转载请注明,来自 微度网络-网络技术支持中心

转: angularjs基础教程(~~较通俗),布布扣,bubuko.com

时间: 2024-10-13 12:21:38

转: angularjs基础教程(~~较通俗)的相关文章

03基础-AngularJS基础教程

0. 目录 目录 前言 正文 1 Set up 2 表达式 3 指令 ng-bind ng-init ng-non-bindable ng-show 4 作用域 双向绑定Two-way binding ng-model 5 总结 声明 1. 前言 AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了,所以AngularJS做了一些工作来来解决静态网页技术在构建动态应用上的不足. AngularJS

04控制器-AngularJS基础教程

0. 目录 目录 前言 正文 1 ng-controller 2 构建模型-Constructing the model 3 控制器作为属性名-Controller as propertyName 4 依赖注入-Dependency injection 41 scope 5 模型视图控制器MVC-Model-view-controller 6 函数-Functions 7 回调函数 8 结论 声明 1. 前言 AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为

07模块化-AngularJS基础教程

0. 目录 目录 前言 正文 1 Why use Angular modules为什么使用模块化 2 创建应用模块-Creating the application module 3 加载应用模块-Loading the application module 4 定义控制器-Defining a controller 5 链式定义-Chaining definitions 6 加载模块-Loading modules 10 结论 声明 1. 前言 AngularJS是为了克服HTML在构建应用上

05作用域-AngularJS基础教程

0. 目录 目录 前言 正文 1 setup 2 scope 3 rootScope 4 Isolation隔离 5 Nesting嵌套 6 Inheritance继承 7 scopewatch 8 scopeapply 9 结论 声明 1. 前言 AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了,所以AngularJS做了一些工作来来解决静态网页技术在构建动态应用上的不足. AngularJ

06集合-AngularJS基础教程

0. 目录 目录 前言 正文 1 Set up 2 Iteration 3 ng-repeat 4 Object properties 5 index 6 ng-init 7 Uniqueness 71 严格相等 72 track by 8 Callback functions 9 -start and -end 10 结论 声明 1. 前言 AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了,

VBS基础教程

VBScript(Microsoft Visual Basic Script Editon).,微软公司可视化BASIC脚本版). 正如其字面所透露的信息, VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言.  Microsoft Visual Basic是微软公司出品的一套可视化编程工具, 语法基于Basic. 脚本语言, 就是不编译成二进制文件, 直接由宿主(host)解释源代码并执行, 简单点说就是你写的程序不需要编译成.exe, 而是直接给用户发送.vbs的

imooc’s html 基础教程笔记

imooc’s html 基础教程笔记 imooc’s html 基础教程 第一章 Html介绍 1.1 Html和CSS的关系 1.2认识html标签 1.3 标签的语法 1.4 认识html文件基本结构 1.5 认识head标签 1.6了解HTML的代码注释 2.1语义化,让你的网页更好的被搜索引擎理解 2.2 标签,网页上显示的内容放在这里 2.3 开始学习标签,添加段落 2.4 了解标签,为你的网页添加标题 2.5 加入强调语气,使用strong和em标签 2.6 使用span标签为文字

html快速入门(基础教程+资源推荐)

1.html究竟是什么? 从字面上理解,html是超文本标记语言hyper text mark-up language的首字母缩写,指的是一种通用web页面描述语言,是用来描述我们打开浏览器就能看到的各种web页面的. 所以说,写html代码根本和 编程都扯不上边,不要一听源码两个字就绝望,以为要你攻读计算机学位似的. 你只要知道当你要在网页中展示内容的时候该用哪个标记就可以了. 即使一开始记不 住,也没关系,查课本,问度娘,分分钟搞定,用过几次,想记不住都难. 最近风靡各大博客和写作平台的ma

AngularJS快速教程

作者:arccosxy  转载请注明出处:http://www.cnblogs.com/arccosxy/ AngularJS是Google开源的一款JavaScript MVC前端框架,弥补了HTML在构建应用方面的不足.AngularJS的首秀是在Google Feedback项目中,将原来的17000行前端代码压缩到了1500行,可见其强大威力.AngularJS诞生以来,吸引了大量的目光,也迅速成为了Web开发领域的新宠.接下来,我们一起踏上神奇的AngularJS之旅. Angular