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 相关文章推荐
Locate a File Using a File Open Dialog Box
Jun 18 Javascript
工作需要写的一个js拖拽组件
Jul 28 Javascript
javascript中的Base64、UTF8编码与解码详解
Mar 18 Javascript
jQuery实现简单隔行变色的方法
Feb 20 Javascript
JS操作input标签属性checkbox全选的实现代码
Mar 02 Javascript
php 修改密码实现代码
May 24 Javascript
node.js中express-session配置项详解
May 31 Javascript
PHP 实现一种多文件上传的方法
Sep 20 Javascript
JavaScript对象的浅拷贝与深拷贝实例分析
Jul 25 Javascript
Quasar Input:type=&quot;number&quot; 去掉上下小箭头 实现加减按钮样式功能
Apr 09 Javascript
vuex中store存储store.commit和store.dispatch的用法
Jul 24 Javascript
记一次vue跨域的解决
Oct 21 Javascript
基于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
一个捕获函数输出的函数
2007/02/14 PHP
php中 ob_start等函数截取标准输出的方法
2015/06/22 PHP
php通过会话控制实现身份验证实例
2016/10/18 PHP
基于jquery的lazy loader插件实现图片的延迟加载[简单使用]
2011/05/07 Javascript
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
2011/10/12 Javascript
JavaScript中九种常用排序算法
2014/09/02 Javascript
jQuery动态背景图片效果实现方法
2015/07/03 Javascript
js 连续赋值的简单实现
2016/06/13 Javascript
关于javascript的一些知识以及循环详解
2016/09/12 Javascript
简单理解vue中实例属性vm.$els
2016/12/01 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
2017/03/21 Javascript
基于nodejs 的多页面爬虫实例代码
2017/05/31 NodeJs
浅谈vue中关于checkbox数据绑定v-model指令的个人理解
2018/11/14 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
vue.js高德地图实现热点图代码实例
2019/04/18 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
2019/05/08 Javascript
微信小程序环境下将文件上传到OSS的方法步骤
2019/05/31 Javascript
JS实现动态添加外部js、css到head标签的方法
2019/06/05 Javascript
vue.js 2.0实现简单分页效果
2019/07/29 Javascript
Vue+Koa2+mongoose写一个像素绘板的实现方法
2019/09/10 Javascript
JavaScript实现放大镜效果代码示例
2020/04/29 Javascript
Nuxt.js 静态资源和打包的操作
2020/11/06 Javascript
Python实现截屏的函数
2015/07/25 Python
解决python Markdown模块乱码的问题
2019/02/14 Python
python 批量下载bilibili视频的gui程序
2020/11/20 Python
德国网上超市:myTime.de
2019/08/26 全球购物
英文求职信结束语大全
2013/10/26 职场文书
简历中个人自我评价范文
2013/12/26 职场文书
国际贸易专业个人职业生涯规划
2014/02/15 职场文书
《山谷中的谜底》教学反思
2014/04/26 职场文书
乡镇综治宣传月活动总结
2014/07/02 职场文书
青年标兵事迹材料
2014/08/16 职场文书
缓刑人员思想汇报
2014/10/11 职场文书
堂吉诃德读书笔记
2015/06/30 职场文书
优秀大学生申请书
2019/06/24 职场文书
MySQL主从复制断开的常用修复方法
2021/04/07 MySQL