1 $rootScope  run  : run 方法初始化全局的数据 ,只对全局作用域起作用 如$rootScope

<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
<div ng-app="a" >
{{name}}
</div>
<script>
var app=angular.module('a',[]);
    app.run(function ($rootScope) {
        $rootScope.name='sdfa';
    });
</script>

2 $parse 将一个AngularJS表达式转换成一个函数

<script src="http://apps.bdimg.com/libs/angular.js/1.2.6/angular.min.js"></script>
<div ng-app="a" ng-controller="ctrl" >
{{ParsedValue}}
</div>
<script>
    /*
    * $parse 将一个AngularJS表达式转换成一个函数
    *$parse服务根据$scope.context中提供的上下文解析$scope.expression语句,然后使用$scope.data数据填充表达式中的变量
    * */
var app=angular.module('a',[]);
    app.controller('ctrl',function ($scope,$parse) {
       $scope.context={
           add: function (a,b) {return a+b+1;},
           mul: function(a,b){return a*b;}
       }
        $scope.expression="mul(a,add(b,c))";
        $scope.data={
            a:3,
            b:6,
            c:9
        }
        var parseFunc=$parse($scope.expression);
        $scope.ParsedValue=parseFunc($scope.context,$scope.data);
    });
</script>

demo2 :输入表达式  1+2*3 结果为7

<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
<div ng-app="a" ng-controller="ctrl" >
    <input type="text" ng-model="expression">
{{ParsedValue}}
</div>
<script>
var app=angular.module('a',[]);
    app.controller('ctrl',function ($scope,$parse) {
        $scope.$watch("expression", function (newValue,oldValue,context) {
            if(newValue!== oldValue){
                var parseFunc=$parse(newValue);
                $scope.ParsedValue=parseFunc(context);
            }
        })
    });
</script>

3. ng-message表单验证

<!DOCTYPE html>
<html ng-app="myTest">
<head>
    <title>Index</title>
    <script src="//cdn.bootcss.com/angular.js/1.5.6/angular.min.js"></script>
    <script src="//cdn.bootcss.com/angular-messages/1.5.7/angular-messages.js"></script>
</head>
<body>
    <form name="myForm" class="form-horizontal" novalidate>
                用户名<input type="text" placeholder="ng-Messages" name="name" ng-model="username"
                       ng-minlength=3 ng-maxlength=20 required />
                <hr/>
                $error:{{myForm.name.$error}}
                <hr/>
                <div ng-messages="myForm.name.$error">
                    <div ng-message="required">这是必填项</div>
                    <div ng-message="minlength">字符太短小于3</div>
                    <div ng-message="maxlength">字符太长大于20</div>
                </div>
    </form>
</body>
</html>
<script>
    angular.module("myTest", ['ngMessages']);
</script>

angularjs 权威指南 版本 1.2.6的更多相关文章

  1. JavaScript权威指南 - 函数

    函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...

  2. JavaScript权威指南 - 对象

    JavaScript对象可以看作是属性的无序集合,每个属性就是一个键值对,可增可删. JavaScript中的所有事物都是对象:字符串.数字.数组.日期,等等. JavaScript对象除了可以保持自 ...

  3. JavaScript权威指南 - 数组

    JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...

  4. 《Ansible权威指南》笔记(1)——安装,ssh密钥登陆,命令

    2016-12-23 读这本<Ansible权威指南>学习ansible,根据本书内容和网上的各种文档,以及经过自己测试,写出以下笔记.另,这本书内容很好,但印刷错误比较多,作者说第二版会 ...

  5. maven权威指南学习笔记(五)—— POM

    1. 简介 Archetype插件通过 pom.xml 文件创建了一个项目.这就是项目对象模型 (POM),一个项目的声明性描述. 当Maven运行一个目标的时候,每个目标都会访问定 义在项目POM里 ...

  6. maven权威指南学习笔记(一)——简介

    maven是什么?有什么用? Maven是一个项目管理工具,它包含了     一个项目对象模型 (Project Object Model),     一组标准集合,     一个项目生命周期(Pro ...

  7. 《javascript权威指南》读书笔记——第二篇

    <javascript权威指南>读书笔记——第二篇 金刚 javascript js javascript权威指南 今天是今年的196天,分享今天的读书笔记. 第2章 词法结构 2.1 字 ...

  8. 《javascript权威指南》读书笔记——第一篇

    <javascript权威指南>读书笔记——第一篇 金刚 javascript js javascript权威指南 由于最近想系统学习下javascript,所以开始在kindle上看这本 ...

  9. Netty权威指南

    Netty权威指南(异步非阻塞通信领域的经典之作,国内首本深入剖析Netty的著作,全面系统讲解原理.实战和源码,带你完美进阶Netty工程师.) 李林锋 著   ISBN 978-7-121-233 ...

随机推荐

  1. js 函数前的+号

    不知啥时候起,函数的闭包需要增加+才能立即执行了. 不加反而报语法错.orz +function() { console.log("Foo!"); }(); 输出: Foo!< ...

  2. css3 transition effect(其它效果)

    http://blog.csdn.net/jerryvon/article/details/8755548 整理了一些其它动画,用的模板为flip模板,只不过CSS3不同 /************* ...

  3. 一个静态的HTML页面用jquery ajax登录到sharepoint页面

       $.ajax({             type: "get",              url: "http://",              d ...

  4. 在win7-64bit环境下,boa-constructor 0.6.1 的palette面板中没有控件图标的解决方法

    在win7-64bit环境下,boa-constructor 0.6.1 的palette面板中没有控件图标,空白一片.将面板窗口拉大,发现那些图标在很下面的位置,X轴的排列与正常状态一致. 软件环境 ...

  5. 用pywinauto进行win32应用程序的测试

    之前做win32应用测试时,用过很多大家耳熟成详的工具,接触pywinauto之前,对它的了解也不多,然而,随着对它了解的增多,发现它借助了python动态对象的能力,使得代码即便于书定,也便于阅读, ...

  6. ACM/ICPC 之 数据结构-线段树+区间离散化(POJ2528)

    这道题用线段树做更方便更新和查询,但是其数据范围很大,因此要将离散化和线段树结合起来,算是一道比较经典的线段树+离散化的例题. 线段树的离散化有很多方法,在这里,我先用一次结点离散化,间接将源左右端点 ...

  7. PUTTY的使用教程

    Putty是一个优秀的,开源的SSH远程登录软件. 它不仅仅可以实现登录,还有很多高级功能. PuTTY is a free SSH, Telnet and Rlogin client for 32- ...

  8. Javascript中最常用的55个经典技巧(转)

    1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <table border oncontextmenu ...

  9. [Android Pro] Test win

    http://www.cnblogs.com/mayingbao/ http://www.cnblogs.com/hyddd/

  10. 解决eclipse ctrl+鼠标左键不能用

    选择[Window]菜单 Preferences ——>General——>Editors——>Text Editors——>Hyperlinking 把勾都点上,然后确定KE ...