angularjs英文版api学习 (附demo)

http://blog.miniasp.com/post/2013/05/11/AngularJS-ng-module-select-ngOptions-usage-samples.aspx

http://blog.darkthread.net/post-2014-06-21-angular-notes-5.aspx

1.angular.bind

var self = {name: 'boy'};
var f = angular.bind(self, function (age) { alert(this.name + ' is ' + age + ' !')});
 f(12);

2、angular.bootstrap

  var app = angular.module('demo', [])
  .controller('WelcomeController', function($scope) {
      $scope.greeting = 'Welcome!';
  });
  angular.bootstrap(document, ['demo']);

3、angular.copy

使用angular.copy拷贝后会指向一个新地址

4、angular.element

angular.element(document.getElementById('ddd')).addClass('ccc')

5、angular.equal(pram1,pram2);

angular.equal("a","a");//true
console.log(angular.equals(true,1));  //false 不能进行强转化
var a={a:111};
var b={a:111};
console.log(angular.equals(a, b));    //true

6、angular.forEach(Arr,fn,[context]

    //对象遍历
var values = {name: 'misko', gender: 'male'}; var log = []; angular.forEach(values, function(value, key) { log.push(key + ': ' + value); }); console.log(log);
//["name: misko", "gender: male"]
   var values = {name: 'misko', gender: 'male'};
var log = [];
   angular.forEach(values, function(value, key) {
        this.push(key + ': ' + value);
    },log);
//["name: misko", "gender: male"]
    //数组遍历
    var values = [1,2,3];
    var log = [];
    angular.forEach(values, function(value, key) {
        log.push(key + ': ' + value);
    });
    console.log(log);

7、angular.fromJson

    var json = '{"name":"liSi", "password":"321"}';
    var jsonArr = '[{"name":"zhangSan", "password":"123"},{"name":"liSi", "password":"321"}]';
    var obj = angular.fromJson(json);
    console.log(obj);
    var objArr = angular.fromJson(jsonArr);
    console.log(objArr);

8、angular.identity

function getResult(fn, input) {
  return (fn || angular.identity)(input);
};
getResult(function(n) { return n * 2; }, 21);   // returns 42
getResult(null, 21);                            // returns 21
getResult(undefined, 21);                       // returns 21

Module

1、form

<script src="angular-1.3.0.js"></script>
<style>
        .my-form {
            transition:all linear 0.5s;
            background: transparent;
        }
        .my-form.ng-invalid {
            background: red;
        }
</style>
<script>
    angular.module('formExample', [])
        .controller('FormController', ['$scope', function($scope) {
            $scope.userType = 'guest';
        }]);
</script>

<form name="myForm" ng-controller="FormController" class="my-form">
    userType: <input name="input" ng-model="userType" required>
    <span class="error" ng-show="myForm.input.$error.required">Required!</span><br>
    <code>userType = {{userType}}</code><br>
    <code>myForm.input.$valid = {{myForm.input.$valid}}</code><br>
    <code>myForm.input.$error = {{myForm.input.$error}}</code><br>
    <code>myForm.$valid = {{myForm.$valid}}</code><br>
    <code>myForm.$error.required = {{!!myForm.$error.required}}</code><br>
</form>

 

---恢复内容结束---

1.angular.bind

var self = {name: 'boy'};
var f = angular.bind(self, function (age) { alert(this.name + ' is ' + age + ' !')});
 f(12);

2、angular.bootstrap

  var app = angular.module('demo', [])
  .controller('WelcomeController', function($scope) {
      $scope.greeting = 'Welcome!';
  });
  angular.bootstrap(document, ['demo']);

3、angular.copy

使用angular.copy拷贝后会指向一个新地址

4、angular.element

angular.element(document.getElementById('ddd')).addClass('ccc')

5、angular.equal(pram1,pram2);

angular.equal("a","a");//true
console.log(angular.equals(true,1));  //false 不能进行强转化
var a={a:111};
var b={a:111};
console.log(angular.equals(a, b));    //true

6、angular.forEach(Arr,fn,[context]

    //对象遍历
var values = {name: 'misko', gender: 'male'}; var log = []; angular.forEach(values, function(value, key) { log.push(key + ': ' + value); }); console.log(log);
//["name: misko", "gender: male"]
   var values = {name: 'misko', gender: 'male'};
var log = [];
   angular.forEach(values, function(value, key) {
        this.push(key + ': ' + value);
    },log);
//["name: misko", "gender: male"]
    //数组遍历
    var values = [1,2,3];
    var log = [];
    angular.forEach(values, function(value, key) {
        log.push(key + ': ' + value);
    });
    console.log(log);

7、angular.fromJson

    var json = '{"name":"liSi", "password":"321"}';
    var jsonArr = '[{"name":"zhangSan", "password":"123"},{"name":"liSi", "password":"321"}]';
    var obj = angular.fromJson(json);
    console.log(obj);
    var objArr = angular.fromJson(jsonArr);
    console.log(objArr);

8、angular.identity

function getResult(fn, input) {
  return (fn || angular.identity)(input);
};
getResult(function(n) { return n * 2; }, 21);   // returns 42
getResult(null, 21);                            // returns 21
getResult(undefined, 21);                       // returns 21

directive

这里需要自己配置一下angular链接和ng-app才能执行

1.input type="checkbox"

<script type="text/javascript">
        angular.module('checkboxExample', [])
            .controller('ExampleController', ['$scope', function ($scope) {
                $scope.value1 = true;
                $scope.value2 = 'YES'
            }]);
</script>
<form name="myForm" ng-controller="ExampleController">
    Value1: <input type="checkbox" ng-model="value1"> <br />
    Value2: <input type="checkbox" ng-model="value2"
                   ng-true-value="'YES'" ng-false-value="'NO'"> <br />
    <tt>value1 = {{value1}}</tt><br />
    <tt>value2 = {{value2}}</tt><br />
</form>

input type="radio"

<form ng-controller="radioCtrl">
    <input type="radio" ng-model="value1" value="red">
    <input type="radio" ng-model="value1" ng-value="special">
    <input type="radio" ng-model="value1" value="blue">
    <tt>color = {{value1 | json}}</tt><br/>
</form>
<script>
    angular.module("radioExample",[]).controller("radioCtrl",function ($scope) {
        $scope.value1="blue"
        $scope.special={"value":"black","id":1111}
    })
</script>

input type="range"

<script>
    angular.module('rangeExample', [])
        .controller('ExampleController', ['$scope', function($scope) {
            $scope.value = 75;
            $scope.min = 10;
            $scope.max = 90;
        }]);
</script>
<form name="myForm" ng-controller="ExampleController">
    Model as range: <input type="range" name="range" ng-model="value" ng-min="min" ng-max="max">
    <hr>
    Model as number: <input type="number" ng-model="value"><br>
    Min: <input type="number" ng-model="min"><br>
    Max: <input type="number" ng-model="max"><br>
    value = <code>{{value}}</code><br/>
    myForm.range.$valid = <code>{{myForm.range.$valid}}</code><br/>
    myForm.range.$error = <code>{{myForm.range.$error}}</code>
</form>

ng-cut

<!--剪切的时候执行-->
<body ng-app="">

<input ng-cut="count = count + 1" ng-init="count=0" value="剪切这个文本" />

<p>文本被剪切了 {{count}} 次。</p>

<p>实例中计数变量 "count" 在每次剪切后自动增加 1。</p>

ng-if

<script >
    angular.module("ngIfModule",[]).controller("ngIfCtrl",function ($scope) {
        $scope.myValue=true;
    })
</script>
<div ng-controller="ngIfCtrl">
    <div ng-if="myValue" >22222</div>

    <!-- when $scope.myValue is falsy (element is visible) -->
    <div>3333</div>
</div>

ng-list

 

2.form

<form name="myform" ng-controller="myCtrl">
    <input name="myinput"  type="text" required ng-model="name" ng-change="ccc()">
    <span class="error" ng-show="myform.myinput.$error.required">Required!</span><br>
    <code>userType = {{name}}</code><br>
    <code>myForm.input.$valid = {{myform.myinput.$valid}}</code><br>
    <code>myForm.input.$error = {{myform.myinput.$error.required}}</code><br>
    <input name="username" ng-maxlength="10" ng-minlength="6" ng-model="greeting" required ng-pattern="/[a-zA-Z]/">
    <code>{{greeting.text}},AngularJS</code><br>
    <code>myForm.input.pattern = {{myform.pattern.$valid}}</code><br>
    <code>myForm.input.$valid = {{myform.username.$valid}}</code><br>
    <code>myform.username.$error.required = {{myform.username.$error.required}}</code><br>
    <code>myform.username.$error.minlength = {{myform.username.$error.minlength}}</code><br>
    <code>myform.username.$error.maxlength = {{myform.username.$error.maxlength}}</code><br>
    <code>myForm.$valid = {{myform.$valid}}</code><br>
    <code>myForm.$error.required = {{!!myform.$error.required}}</code><br>
</form>
<script>
    angular.module("myapp",[]).controller('myCtrl',function ($scope) {
        $scope.name="bbb";
        $scope.greeting="222"
        $scope.ccc=function (){
            $scope.name="ccc";
        }
    })
</script>

3、ng-init

    <script type="text/javascript">
        angular.module('initExample', [])
            .controller('ExampleController', ['$scope', function ($scope) {
                $scope.list = [['a', 'b'], ['c', 'd']];
            }]);
    </script>
<div ng-controller="ExampleController">
    <div ng-repeat="innerList in list" ng-init="outerIndex = $index">
        <div ng-repeat="value in innerList" ng-init="innerIndex = $index">
            <span class="example-init">list[ {{outerIndex}} ][ {{innerIndex}} ] = {{value}};</span>
        </div>
    </div>
</div>

 

ng-cut

<!--剪切的时候执行-->
<body ng-app="">

<input ng-cut="count = count + 1" ng-init="count=0" value="剪切这个文本" />

<p>文本被剪切了 {{count}} 次。</p>

<p>实例中计数变量 "count" 在每次剪切后自动增加 1。</p>

ng-if

<script >
    angular.module("ngIfModule",[]).controller("ngIfCtrl",function ($scope) {
        $scope.myValue=true;
    })
</script>
<div ng-controller="ngIfCtrl">
    <div ng-if="myValue" >22222</div>

    <!-- when $scope.myValue is falsy (element is visible) -->
    <div>3333</div>
</div>

ng-list

<script>
    angular.module("ngListModule",[]).controller("ngListCtrl",function ($scope) {
        $scope.list=[111,333,455]
    })
</script>
<div ng-controller="ngListCtrl">
<input type="text" ng-model="list" ng-list=" | "/>
    <div>{{list}}</div>
</div>

ng-option

<script>
    angular.module("ngOptionModule",[]).controller("ngOptionCtrl",function ($scope) {
        $scope.colors = [
            {name:'black', shade:'dark'},
            {name:'white', shade:'light', notAnOption: true},
            {name:'red', shade:'dark'},
            {name:'blue', shade:'dark', notAnOption: true},
            {name:'yellow', shade:'light', notAnOption: false}
        ];
        $scope.myColor = $scope.colors[2]; // red
    })
</script>
<div ng-controller="ngOptionCtrl">
    <ul>
        <li ng-repeat="color in colors">
            <span>Name:<input type="text" ng-model="color.name"/>
            <input type="checkbox" ng-model="color.notAnOption"/>
            <button ng-click="colors.splice($index,1)">X</button>
            </span>
        </li>
        <li><button ng-click="colors.push({})">add</button></li>
    </ul>
<hr/>
    <div>Color (null not allowed): <select  ng-options="color.name for color in colors" ng-model="myColor"></select></div>
    <div>Color (null not allowed): <select  ng-options="color.name for color in colors" ng-model="myColor">
        <option value="">请选择</option>
    </select>
    </div>
    <div>color.name group by color.shade : <select  ng-options="color.name group by color.shade for color in colors" ng-model="myColor">
    </select>
    </div>
    <div>color.name group by color.shade : <select  ng-options="color.name group by color.shade disable when color.notAnOption for color in colors" ng-model="myColor">
    </select>
    </div>
    Select <button ng-click="myColor = { name:'not in list', shade: 'other' }">bogus</button>.
    <hr/>
    Currently selected: {{ {selected_color:myColor} }}
    <div style="border:solid 1px black; height:20px"
         ng-style="{'background-color':myColor.name}">
    </div>
</div>
ng-bind-template
<script>
    angular.module('bindExample', [])
        .controller('ExampleController', ['$scope', function($scope) {
            $scope.salutation = 'Hello';
            $scope.name = 'World';
        }]);
</script>
<div ng-controller="ExampleController">
    <label>Salutation: <input type="text" ng-model="salutation"></label><br>
    <label>Name: <input type="text" ng-model="name"></label><br>
    <pre ng-bind-template="{{salutation}} {{name}}!"></pre>
</div>

ng-check

    <script type="text/javascript">
        var dem = angular.module("dim", []);
        dem.controller("dimcon", ["$scope", function ($scope) {
            $scope.master = true;
        }]);
    </script>
</head>
<body ng-controller="dimcon">
Check me to check both: <input type="checkbox" ng-model="master"><br />
<input id="checkSlave" type="checkbox" ng-checked="master">

ng-class

    <style type="text/css">
        .strike {
            text-decoration: line-through;
        }
        .bold {
            font-weight: bold;
        }
        .red {
            color: red;
        }
    </style>
<div ng-class="{strike:bbb,bold:ccc}">1111</div>
<input ng-model="bbb" type="checkbox">
<input ng-model="ccc" type="checkbox">
<div ng-class="style">222</div>
<input ng-model="style" type="text">
<div ng-class="[style1,style2,style3]">333</div>
<input ng-model="style1" type="text">
<input ng-model="style2" type="text">
<input ng-model="style3" type="text">

 

ng-class-odd ng-class-even

    <style>
        .odd{
            color:blue;
        }
        .even{
            color:red
        }
    </style>

<script>
    angular.module("ngClassModule",[]).controller("ngClassCtrl",function ($scope) {
        $scope.names=[1,2,3,4];
    })
</script>
<div ng-controller="ngClassCtrl">
    <ul>
        <li ng-repeat="name in names" ng-class-odd="'odd'" ng-class-even="'even'">{{name}}</li>
    </ul>
</div>

ng-paste

    <input ng-paste="paste=true" ng-init="paste=false" placeholder='paste here'>
    pasted: {{paste}}

 

posted @ 2017-02-25 10:49  莺哥  阅读(415)  评论(0编辑  收藏  举报