Angular JS从入门基础  mvc模型 常用指令

最近一直在复习AngularJS,它是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。

   

  1、常用指令

    AngularJS 通过指令扩展了HTML,且通过表达式绑定数据到 HTML。下面我们看一下AngularJS中的常用指令。
    

  

   (1)、基本概念

      指令:AngularJS中,通过扩展HTML的属性提供功能。所以,ng-开头的新属性,被我们成为指令。

   (2)、AngularJS常用指令

  

      1、ng-app:声明Angular所管辖的区域,一般写在body或HTML上,原则上一个页面只有一个。
      2、ng-model:把元素值(比如输入域的值)绑定到应用程序的变量中。
 <input type="text" ng-model="name"/>

      3、ng-bind:把应用程序变量中的数据绑定到HTML视图中,可用表达式替代。   

<div id="div1" ng-bind="name"></div><!--等效于--><div id="div1" >{{name}}</div>

      4、ng-init:初始化 AngularJS应用程序变量。

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

      5、表达式:{{}}绑定表达式,可以包含文字,运算符和变量。

      但是表达式在网页加载瞬间会看到{{}},所以可以用ng-bind=""替代。
      eg:{{ 5 + "" + 5 + ',Angular' }}

      

  2、mvc三层架构

    model(模型):应用程序中用于处理数据的部分。(保存或修改数据到数据库、变量等)。AngularJS中的Model特指的是:数据。

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

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

  (1)、工作原理:

    用户从视图层发出请求,controller接收到请求后转发给对应的model处理,model处理完成后返回结果给controller,并在View层反馈给用户.

  (2)、创建一个Angular模块

    即ng-app所绑定的部分 ,需传递两个参数:
      ①模块名称:即ng-app所需要绑定的名称,ng-app="myApp"
      ②数组:需要注入的模块名称,不需要可为空。
var app= angular.module("myApp",[]);

  (3)创建一个控制器

    在Angular模块上,创建一个控制器Controller,需要传递两个参数。
    ①Controller名称,即ng-controller需要绑定的名称。ng-controller="myCtrl"
    ②Controllerd的构造函数:构造函数可以传入多个参数,包括$scope/$rootScope以及各种系统内置对象;

      说的终究不清楚,看我们灵魂画手的图片你就明白mvc是怎么回事了

 

最后,补充一下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上。

本次分享就到这里

谢谢大家的观看

 
觉得不错请点赞
 

希望能对大家有所启发

有更好的方法或不同的意见请在留言区跟我交流

  

Angular JS从入门基础 mvc三层架构 常用指令的更多相关文章

  1. 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理

    服务器文档下载zip格式   刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...

  2. MVC三层架构编程(Dao、service、servlet 之间的关系)

    木哈哈~先开心一会儿,人生的第一篇博客aaa.我一定好好写.不过之前也没怎么看别人写过,还是有点小激动呢,加油.好好总结,会总结的宝宝才会有提高! 今天想总结一下mvc三层架构模型编程,宝宝学习不怎么 ...

  3. MVC三层架构搭建

    MVC三层架构搭建 项目主要是用三层来搭建项目,三层分为表现层,数据层和业务层.项目用了目前比较流行的IOC架构.目前流行的IoC 框架有AutoFac,Unity,Spring.NET等,项目中选用 ...

  4. Asp.Net MVC三层架构之autofac使用教程

    开发环境:vs2015..net4.5.2.mvc5.ef6 Autofac简介 IOC控制反转(Inversion of Control,缩写为IOC),Autofac是一个开源的依赖注入框架,Au ...

  5. MVC三层架构模式编程思想 JSP-Servlet-JavaBean

    MVC(Mdodel-View-Controller)编程模式.把一个Java应用分成三层:模型层.视图层.控制层,各层分别实现各层的功能,整个过程见下图就一目了然了. watermark/2/tex ...

  6. angular.js快速入门 hello world

    我们整个系列的学习会去写一个简单blog雏形,如果有精力再完善美化. 但是这篇还是要从HelloWorld开始学习. angular.js 文件加载我们选用 bootstrap中文网提供的一个cdn服 ...

  7. angular.js简单入门。

    小弟刚接触angular js  就写了一个简单的入门.后续慢慢补... 首先看 html 页面. <html> <meta charset="UTF-8"> ...

  8. MVC——三层架构笔记、1

    三层架构MVC笔记1. DAL——数据访问层:(专门与数据库交互,增删查改的方法都在这:需引用MODEL层) BLL——业务逻辑层:(页面与数据库之间的桥梁:需引用DAL.MODEL层) MODEL— ...

  9. ASP.NET MVC5基础 – MVC文件架构

    创建MVC项目 首先,我们使用Visual Studio2019创建一个MVC架构的应用程序.步骤如下:首先打开VS2019,在启动页选择[创建新项目].然后选择创建 ASP.NET Web 应用程序 ...

随机推荐

  1. android在myeclipse上创建的项目各种报错

    这几天被android弄得头疼死了.差不多把电脑弄了个遍. 先是离线安装ADT,下载ADT,然后配置,但是因为ADT与MyEclipse冲突.所以直接不要再myeclipse下弄Android的环境了 ...

  2. 微信小程序之获取当前位置经纬度以及地图显示

    最近刚开始接触微信小程序,在弄懂其结构以及相关接口之后,准备着手实现一个小程序,功能包括--获取用户当前位置的经纬度,在地图上查看位置,通过地图获取不同位置的经纬度. 微信小程序的主体部分包括: 新增 ...

  3. 【网站管理3】_ftp连接超时和连不上的原因

    1.无法上传网页,FTP故障-提示"无法连接服务器"错误. 问题出现原因:FTP客户端程序设置问题,客户上网线路问题,ftp服务器端问题.处理方法:建议客户使用CUTPFTP软件来 ...

  4. hdu1372 Knight Moves BFS 搜索

    简单BFS题目 主要是读懂题意 和中国的象棋中马的走法一样,走日字型,共八个方向 我最初wa在初始化上了....以后多注意... 代码: #include <iostream> #incl ...

  5. aync await 进一步探索

    aync await 进一步探索 首先来个例子 class Program { static int index = 1; static void Log(string str) { Console. ...

  6. 最新合购网源码net.asp程序 彩票合买功能采用全新内核、全新架构,更小巧、功能更强、更快、更安全稳定

    合买代购功能 可购彩种:福彩3D.排列3.重庆时时彩.天津时时彩.广东11选5.11运夺金.江苏快3.广西快3.拥有上百种玩法,更多彩种即将开发完成,更多的彩种不断开发更新中... 选号投注:建立追号 ...

  7. [笔记]我的Linux入门之路 - 01.Ubuntu安装

    最近学机器学习,感觉matlab/octave用的人不多,想改用python.于是开始学python,辛辛苦苦学会了自己装环境和装第三方库,结果发现scipy库竟然没有win版本!于是想着那我得装个l ...

  8. 区块链入门(1):搭建(Ubuntu系统)Truffle v3.2.1 开发和测试环境

    本文主要讲解ubuntu 16.04下, truffle开发测试环境的搭建.  第一步:安装nodejs 和 npm,有两种比较常见的方法. 方法1:直接在nodejs官网下载nodejs-v6.10 ...

  9. wdc网站部署问题

    最近公司新买了一个服务器,将项目迁移到新服务器上,按照wdcp安装方法,部署了lnamp环境,具体方法如下: 安装方法1 只安装wdcp面板看看wget http://down.wdlinux.cn/ ...

  10. 【2017-05-21】WebForm跨页面传值取值、C#服务端跳转页面、 Button的OnClientClick属性、Js中getAttribute和超链接点击弹出警示框。

    一.跨页面传值和取值: 1.QueryString - url传值,地址传值 优缺点:不占用服务器内存:保密性差,传递长度有限. 通过跳转页面路径进行传值,方式: href="地址?key= ...