• AngularJS学习笔记一


    1 首先将angular.js引入;

    2 然后写指令如下

    <body ng-app="myApp">
    </body>

    ng-app的指令 指定一个app的入口 开始,所有的ng-XXX形式的是angular已经内置好的指令。

    3 写控制器

    <div  ng-controller="MyController">
            <input ng-model="name" type="text" placeholder="Your name">
            <h1>Hello {{ name }}</h1>
    </div>    

    ng-controller指令 指定一个控制器 去控制内容;

    ng-model 将value值和scope上的name属性绑定;

    {{}} 插值表达式。

    4 实例化和controller参数注入

    var app=angular.module("myApp",[]);      //初始化
    app.controller('MyController', ["$scope",function($scope){
        $scope.name="miao";
    }])

     声明一个名为myApp的module,第一个参数module名,第二个参数['MM'...]数组,依赖其他的module名组成的数组;

    如果没有任何其他的依赖module的话,也需要传一个[]的进去;

     如果第二个参数没有的话 angular会默认认为去取得module的实例;

    创建名为MyController的controller,第二个参数是一个函数,当然函数是需要参数的;

    注意的是,controller中的参数是通过angular的依赖注入机制依赖注入的,依赖注入的方式有3种:

     1:function(a, b...) {} 这样的,原理就是angular通过把函数toString,
       匹配到函数中的参数,然后注入的;这样有个问题,在项目上线的时候怎么办
       一般咱们都会压缩混淆代码,变量名会被替换掉,所以这种方式在实际应用中
       很少会用 除非你不回去压缩混淆 ;
     2:['a', 'b', function(a, b) {}] 这种方式是一个数组,前面所有参数都是
      依赖项,最后一个是真正的函数,所以这里在函数的参数中,并不一定是a ,b了
      任意名字即可了,所以不存在压缩混淆的问题 ;
     3:fun = function(a, b) {};fun.$inject = ['a', 'b']; 也是可以的 ;

    我用的是第二种。

    实现效果如下:

  • 相关阅读:
    POJ 1837 (DP)
    POJ 2255(分治递归)
    红球多于白球的概率(分治递归)
    HDOJ 4039 (Data_Structure)
    管道问题(prim)
    寻找给定区间内第K小的数(分治递归)
    大数加法
    1000元购物券 (分治递归)
    POJ 1308(并查集) (Data_Structure)
    我的2012年还不是世界末日
  • 原文地址:https://www.cnblogs.com/xiaoluoli/p/6029605.html
Copyright © 2020-2023  润新知