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 相关文章推荐
List Installed Software Features
Jun 11 Javascript
js类式继承的具体实现方法
Dec 31 Javascript
浅谈javascript中createElement事件
Dec 05 Javascript
AngularJS 表达式详解及实例代码
Sep 14 Javascript
使用webpack搭建react开发环境的方法
May 15 Javascript
Vue头像处理方案小结
Jul 26 Javascript
JS实现把一个页面层数据传递到另一个页面的两种方式
Aug 13 Javascript
vue 自定义指令自动获取文本框焦点的方法
Aug 25 Javascript
JS数组实现分类统计实例代码
Sep 30 Javascript
详解webpack 最简打包结果分析
Feb 20 Javascript
怎样使你的 JavaScript 代码简单易读(推荐)
Apr 16 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
Nov 11 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
firebug的一个有趣现象介绍
2011/11/30 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
2015/10/23 Javascript
原生js实现图片层叠轮播切换效果
2016/02/02 Javascript
Backbone View 之间通信的三种方式
2016/08/09 Javascript
json的结构与遍历方法实例分析
2017/04/25 Javascript
基于react框架使用的一些细节要点的思考
2017/05/31 Javascript
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
js数组方法reduce经典用法代码分享
2018/01/07 Javascript
利用JavaScript缓存远程窃取Wi-Fi密码的思路详解
2018/11/05 Javascript
详解处理Vue单页面应用SEO的另一种思路
2018/11/09 Javascript
小程序云开发实现数据库异步操作同步化
2019/05/18 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
2019/10/26 Javascript
解决vue 给window添加和移除resize事件遇到的坑
2020/07/21 Javascript
[42:56]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
详解在Python程序中自定义异常的方法
2015/10/16 Python
python实现装饰器、描述符
2018/02/28 Python
python 获取微信好友列表的方法(微信web)
2019/02/21 Python
python可视化爬虫界面之天气查询
2019/07/03 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
Django xadmin开启搜索功能的实现
2019/11/15 Python
Python中如何引入第三方模块
2020/05/27 Python
idea2020手动安装python插件的实现方法
2020/07/17 Python
python+playwright微软自动化工具的使用
2021/02/02 Python
欧洲最大的高尔夫零售商:American Golf
2019/09/02 全球购物
美国波西米亚风格精品店:South Moon Under
2019/10/26 全球购物
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
金融行业务员的自我评价
2013/12/13 职场文书
商业计算机应用专业自荐书
2014/06/09 职场文书
体育专业求职信
2014/07/16 职场文书
专业见习报告范文
2014/11/03 职场文书
大学副班长竞选稿
2015/11/21 职场文书
门面租赁合同范文
2019/08/06 职场文书
python利用pandas分析学生期末成绩实例代码
2021/07/09 Python
MySQL中CURRENT_TIMESTAMP的使用方式
2021/11/27 MySQL
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript
以下牛机,你有几个
2022/04/05 无线电