zoukankan      html  css  js  c++  java
  • angular

    Angular

    Angular 简介

    Angular 是Google提供的一套基于MV*(MVC或MVVM)结构的JavaScript开发工具,它也是一套开源的项目框架。

    MVC:Model(模型)-View(视图)-Controller(控制器)

    MVVM:Model-View-ViewModel(视图模型)

    M层和V层功能基本是同样的:M负责业务逻辑,

    V负责UI逻辑 Controller 接受用户的输入并调用M和V来完成用户的请求 

    ViewModel 封装了表现逻辑和业务逻辑的运行状态

    Angular 特性

    指令系统

    . 模块系统

    . MVC模式                  

    . 依赖注入

    . 数据双向绑定

    Angular 应用

    应用场景:AngularJS主要考虑的是构建CRUD应用。 (增加Create、查询Retrieve、更新Update、删除Delete)

    幸运的是,至少80%以上的WEB应用都是CRUD应用。  如酷炫的特效,动画,游戏等,这种DOM操作很频繁也很复杂的应用,和CRUD应用就有很大的不同,它们不适合用AngularJS来构建。

    Angular 表达式

    .使用 表达式 把数据绑定到 HTML;

    .表达式写在双大括号内:{{ 表达式 }};

    .在表达式书写的位置“输出”数据;

    .AngularJS 表达式 很像 JavaScript 表达式, 它们可以包含文字、运算符和变量、过滤器;

    .示例:{{ 5 + 5 }} 或 {{ name + " " + age }}

    Angular的控制器(controller) :
    控制器 控制AngularJS 应用程序的数据, 是连接视图与数据的桥梁 。

    控制器采用ng-controller指令定义,Angular通过控制器构造函数生成实体对象,生成对象的过程中,$scope对象作为参数注入其中,并允许用户访问和操作$scope对象。 控制器操作$scope对象,相当于为其添加属性和方法。

     


    Angular 模块
    定义与作用:
    模块定义了一个应用程序,是应用程序中不同部分的容器;

    -模块可以提高代码的整洁和重用性,可以按任意顺序加载;

    -通过 AngularJS 的 angular.module( )函数来创建模块;

    -模块可在 AngularJS 应用中添加控制器,指令,服务等;

    实例:<div ng-app=“myApp”>......</div> var app = angular.module(“myApp”, []);  应用程序myApp模块对应执行应用的 HTML 元素。

    Angular 事件
    ng-click/dblclick

    ng-mouseover/out

    ng-keydown/up

    ng-focus/blur

    ng-submit ……

    更多事件:https://segmentfault.com/a/1190000002634554

    模块的例子:

    <script>
    // var app=angular.module('myApp',['herApp']);//创建一个模块,依赖herApp
    // var app2=angular.module('myApp');//获取一个模块
    var app=angular.module('myApp',[]);
    app.controller('Myctrl',function($scope){
    //模块中添加控制器
           $scope.say=function(){
               return '大家好';
           }
    });
    app.controller('Myctrl2',['$scope','$rootScope',function(scope,rscope){//防止上线代码压缩后获取不到
              scope.say=function(){
                   return '大家好';
             };
             rscope.age='12';
        }]
    );

    </script>

    2.angular程序例子

    <!DOCTYPE html>
    <html ng-app>
    <!-- //初始化指令,告诉angular他的管理范围(从什么位置开始启动angular) -->
    <head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="angular-1.2.20.min.js"></script>
    </head>

    3.angular事件

    <!DOCTYPE html>
    <html ng-app="myApp">
    <head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="angular-1.5.8.min.js"></script>
    </head>
    <body>
    <div ng-controller="Myctrl">
          <button ng-click="jisuan()">点击</button>
          <h1>{{result}}</h1>
          <button ng-click="toggle()">按钮</button>
          <h1 ng-show="bool">爱上空间</h1>
    </div>
    <script>
    var app=angular.module('myApp',[]);
    var bool=false;
    app.controller('Myctrl',['$scope',function(scope){
           scope.result=0;
           scope.jisuan=function(){
           scope.result+=1;

    };
    scope.toggle=function(){
         scope.bool=!scope.bool;
    }

    }]);
    </script>
    </body>
    </html>

     

  • 相关阅读:
    GridView中使用DataFromatString
    添加文件Node
    GridView技巧1:加入序号
    Android UI控件Spinner控件的学习
    Android UI开发之RadioButton
    二叉树
    visual studio toolbox 修复
    github笔记
    nhibernate manytoone 没有匹配项时的异常
    DataMember 特性
  • 原文地址:https://www.cnblogs.com/SunShineM/p/6016035.html
Copyright © 2011-2022 走看看