AugularJS从入门到实践(必看篇)


Posted in Javascript onJuly 10, 2017

前 言

前端

AngularJS是为了克服HTML在构建应用上的不足而设计的。(引用百度百科)

AngularJS使用了不同的方法,它尝试去补足HTML本身在构建应用方面的缺陷。AngularJS通过使用我们称为指令(directives)的结构,让浏览器能够识别新的语法。(引用百度百科)

例如:

使用双大括号{{}}语法进行数据绑定;

使用DOM控制结构来实现迭代或者隐藏DOM片段;

支持表单和表单的验证;

能将逻辑代码关联到相关的DOM元素上;

能将HTML分组成可重用的组件。

本篇学习主要有两个部分:

①【AngularJS 常用指令】

②【AngularJS 的 mvc 】
 

1、AngularJS 常用指令

【常用指令】

1.na-app:声明angularjs所管辖的区域,一般写在body或者HTML上原则一个一面只写一个

<body ng-app=""> </body>

2.ng-model 指令把元素值(比如输入域的值)绑定到应用程序。

<input type="text" id="input" ng-model="name"/>

3.ng-bind 指令把应用程序数据绑定到 HTML 视图。

①<div id="div" ng-bind="name"></div>
②<div>{{name}}</div>

4.ng-init 指令初始化 AngularJS 应用程序变量。

<body ng-app="" ng-init="name=123"></body>

5.表达式:{{}}绑定表达式,可以包含数字、运算符和变量。但表达式在网页加载瞬间会看到{{}},所以可以用ng-bind=”代替

{{5+""+5+',Angular'}}

【基本感念】

指令:AngularJS中,通过扩展HTML的属性提供功能 ↓↓↓↓(菜鸟教程中的原话)

AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-。

ng-app 指令初始化一个 AngularJS 应用程序。

ng-init 指令初始化应用程序数据。

ng-model 指令把元素值(比如输入域的值)绑定到应用程序。

2、AngularJS 的 mvc

【mvc三层框架】

1、 Model(模型):应用程序中处于处理属性局的部分。(保存或修改数据到数据库、变量等)。AugularJS中的Model特征的是:数据

view(视图):用户看到的而用于显示数据的页面

controller(控制器):应用程序中处理用户交互的部分。负责从视图读取数据,控制用户输入,并项目性发送数据。

2、工作原理:用户从视图层发送请求,controller接收到请求后转发给对应的model处理,medle处理完成后返回结果给controller,并在view成反馈给用户。

创建一个angular模块,即ng-app所绑定的部分,需要传递两个参数:

① 模块名称,即ng-app所需要绑定的名称。ng-app="myApp";

② 数组:需要注入的模块名称,不需要可为空。

var app = angular.module("myApp",[]);

在Angular模块上,创建一个控制器Controller,需要传递两个参数称。

① ng-controller="myCtrl"

② controller的构造函数:构造函数可以传入多个参数,包括$scope/$roatScope以及各种系统内置对象

【angularJS中的作用域】

①$scope:局部作用域,声明在$scope上的属性和方法,只能在当前Controller中使用;

②$rootScope:根作用域,声明在$rootscope上的熟悉感和方法可以在ng-app所包含的任何区域使用(无论是否同意controller,或是否在controller包含范围中)。

>>> 若没有使用$scope 声明变量,而直接在html中使用ng-model绑定的变量作用域为:

1.如果ng-model在某个ng-controller中,则此变量会默认绑定到当前Controller的$scope上

2.如果ng-model没有在任何一个ng-controller中,则此变量将绑定在$rootScope上。

效果图如下:

AugularJS从入门到实践(必看篇)

代码如下:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
      .div1{
        width: 300px;
        height: 100px;
        background-color: #00BFFF;
      }
    </style>
  </head>
  <body ng-app="myApp">
    <div ng-controller="myCtrl">
      <input type="text" ng-model="name"/>
      <div ng-bind="name" class="div1"></div>
      <div ng-bind="age" class="div1"></div>
      <div ng-bind="classes" class="div1"></div>
      <div ng-bind="classes.name" class="div1"></div>
      <div ng-bind="classes.age" class="div1"></div>
      <div ng-bind="classes.sex" class="div1"></div>
      
    </div>
    <div ng-controller="myCtrl1">
      <input type="text" ng-model="name"/>
      <div ng-bind="name" class="div1"></div>
      <div ng-bind="age" class="div1"></div>
    
    </div>
      
  </body>
  <script language="JavaScript" src="angular-1.5.6/angular.js"></script>
  <script type="text/javascript">
    var app = angular.module("myApp",[]);  
    app.controller("myCtrl",function($scope){
      $scope.name = "帅哥" ;
      $scope.age = "18岁";
      $scope.classes = {
          name:"张三",
          age:"16岁",
          sex:"男"
        
      };
      
    });
    
    app.controller("myCtrl1",function($rootScope){
      $rootScope.name = "hahaha" ;
          });
    
  </script>
</html>

以上这篇AugularJS从入门到实践(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
小议Function.apply() 之一------(函数的劫持与对象的复制)
Nov 30 Javascript
Jquery Ajax学习实例4 向WebService发出请求,返回实体对象的异步调用
Mar 16 Javascript
js 多种变量定义(对象直接量,数组直接量和函数直接量)
May 24 Javascript
JQuery里选择超链接的实现代码
May 22 Javascript
JS实现的手机端精简幻灯片效果
Sep 05 Javascript
浅谈移动端之js touch事件 手势滑动事件
Nov 07 Javascript
JavaScript变量作用域_动力节点Java学院整理
Jun 27 Javascript
AngularJS实现进度条功能示例
Jul 05 Javascript
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
Dec 05 jQuery
Vue 自定义动态组件实例详解
Mar 28 Javascript
使用vue的transition完成滑动过渡的示例代码
Jun 25 Javascript
jquery实现Ajax请求的几种常见方式总结
May 28 jQuery
基于easyui checkbox 的一些操作处理方法
Jul 10 #Javascript
AngularJS实用基础知识_入门必备篇(推荐)
Jul 10 #Javascript
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
Jul 09 #Javascript
详谈AngularJs 控制器、数据绑定、作用域
Jul 09 #Javascript
vue子父组件通信的实现代码
Jul 09 #Javascript
vue2中filter()的实现代码
Jul 09 #Javascript
Bootstrap 模态对话框只加载一次 remote 数据的完美解决办法
Jul 09 #Javascript
You might like
php过滤危险html代码
2008/08/18 PHP
ThinkPHP3.1新特性之内容解析输出详解
2014/06/19 PHP
PHP图片处理之图片旋转和图片翻转实例
2014/11/19 PHP
Laravel框架实现简单的学生信息管理平台案例
2019/05/07 PHP
解决laravel id非自增 模型取回为0 的问题
2019/10/11 PHP
JQuery 小练习(实例代码)
2009/08/07 Javascript
jQuery 解析xml文件
2009/08/09 Javascript
JQuery中的ready函数冲突的解决方法
2010/05/17 Javascript
JavaScript OOP面向对象介绍
2010/12/02 Javascript
javascript中的if语句使用介绍
2013/11/20 Javascript
jquery 中的each()跳出循环的语句
2014/05/23 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
2015/08/27 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
2017/05/26 Javascript
vue用addRoutes实现动态路由的示例
2017/09/15 Javascript
VueJS事件处理器v-on的使用方法
2017/09/27 Javascript
基于对象合并功能的实现示例
2017/10/10 Javascript
vue解决一个方法同时发送多个请求的问题
2018/09/25 Javascript
4 种滚动吸顶实现方式的比较
2019/04/09 Javascript
mpvue微信小程序开发之实现一个弹幕评论
2019/11/24 Javascript
vue中监听路由参数的变化及方法
2019/12/06 Javascript
jquery实现进度条状态展示
2020/03/26 jQuery
javascript 易错知识点实例小结
2020/04/25 Javascript
Python 模拟购物车的实例讲解
2017/09/11 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
2018/06/27 Python
Python面向对象思想与应用入门教程【类与对象】
2019/04/12 Python
Python学习笔记之迭代器和生成器用法实例详解
2019/08/08 Python
java字符串格式化输出实例讲解
2021/01/06 Python
小学生检讨书大全
2014/02/06 职场文书
母亲节感恩寄语
2014/02/21 职场文书
乡镇总工会学雷锋活动总结
2014/03/01 职场文书
优秀护士先进事迹
2014/05/08 职场文书
读书之星事迹材料
2014/05/12 职场文书
2015元旦晚会主持人开场白+结束语
2014/12/14 职场文书
优秀教研组申报材料
2014/12/26 职场文书
婚姻出轨保证书
2015/05/08 职场文书
PHP基本语法
2021/03/31 PHP