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 相关文章推荐
Safari5中alert的无限循环BUG
Apr 07 Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
Jul 16 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
Nov 12 Javascript
js创建对象的区别示例介绍
Jul 24 Javascript
JavaScript中输出标签的方法
Aug 27 Javascript
使用AngularJS来实现HTML页面嵌套的方法
Jun 17 Javascript
关于数据与后端进行交流匹配(点亮星星)
Aug 03 Javascript
Vue.js手风琴菜单组件开发实例
May 16 Javascript
微信小程序如何像vue一样在动态绑定类名
Apr 17 Javascript
jquery获取元素到屏幕四周可视距离的方法
Sep 05 jQuery
微信小程序上传图片并等比列压缩到指定大小的实例代码
Oct 24 Javascript
vue项目实现分页效果
Mar 24 Vue.js
基于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实现多张图片上传加水印技巧
2013/04/18 PHP
php检查页面是否被百度收录
2015/10/28 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
2016/10/17 PHP
php根据地址获取百度地图经纬度的实例方法
2019/09/03 PHP
在页面上点击任一链接时触发一个事件的代码
2007/04/07 Javascript
使用jquery实现简单的ajax
2013/07/08 Javascript
js data日期初始化的5种方法
2013/12/29 Javascript
JavaScript模块随意拖动示例代码
2014/05/27 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
2014/10/16 Javascript
javascript中typeof操作符和constucor属性检测
2015/02/26 Javascript
JQuery中DOM实现事件移除的方法
2015/06/13 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
PhotoSwipe异步动态加载图片方法
2016/08/25 Javascript
浅析node.js的模块加载机制
2018/05/25 Javascript
浅谈Vue 函数式组件的使用技巧
2020/06/16 Javascript
Python记录详细调用堆栈日志的方法
2015/05/05 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
python实现FTP循环上传文件
2020/03/20 Python
使用python matploblib库绘制准确率,损失率折线图
2020/06/16 Python
python爬虫快速响应服务器的做法
2020/11/24 Python
利用HTML5实现使用按钮控制背景音乐开关
2015/09/21 HTML / CSS
科沃斯机器人官网商城:Ecovacs
2016/08/29 全球购物
在线购买廉价折扣书籍和小说:BookOutlet.com
2018/02/19 全球购物
AutoShack.com加拿大:北美主要的汽车零部件零售商
2019/07/24 全球购物
写好自荐信要注意的问题
2013/11/10 职场文书
音乐学个人的自荐书范文
2013/11/26 职场文书
50岁生日感言
2014/01/23 职场文书
岗位竞聘书范文
2014/03/31 职场文书
2014超市收银员工作总结
2014/11/13 职场文书
开平碉楼导游词
2015/02/06 职场文书
2016年端午节寄语
2015/12/04 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
公文写作:新员工转正申请书范本3篇!
2019/08/07 职场文书
pandas中关于apply+lambda的应用
2022/02/28 Python
redis数据一致性的实现示例
2022/03/18 Redis
mysql数据库实现设置字段长度
2022/06/10 MySQL