Angular js 学习总结

下面是关于Angular js 实现动态加载表格,根据输入框内容·搜索的例子

<script>    var mainApp = angular.module("mainApp",[]);    mainApp.controller("MyController",function($scope){

       $scope.childrenArry=[           {name:"alice",age:20},           {name:"柳林",age:20},           {name:"john",age:23},           {name:"mary",age:18},           {name:"blue",age:25}       ];

    });</script>
<div ng-controller="MyController">    <input type="text" ng-model="searchtext"/>    <select name="" id="" ng-model="select" >        <option value="name">姓名(升序)</option>        <option value="-name">姓名(降序)</option>        <option value="age" >年龄(升序)</option>        <option  value="-age">年龄(降序)</option>        <!--<option ng-click="select:‘-age‘" value="">年龄(降序)</option>-->    </select>    <table>        <tr>            <th>姓名</th>            <th>年龄</th>        </tr>        <tr ng-repeat="ary in childrenArry | filter:searchtext |orderBy:select ">//过滤器的运用            <td>{{ary.name}}</td>            <td>{{ary.age}}</td>        </tr>    </table></div>

 ng-controller

要明确创建一个$scope 对象,我们就要给DOM元素安上一个controller对象,使用的是ng-controller 指令属性:

<div ng-controller="MyController"> {{ person.name }} </div>

ng-controller指令给所在的DOM元素创建了一个新的$scope 对象,并将这个$scope 对象包含进外层DOM元素的$scope 对象里。在上面的例子里,这个外层DOM元素的$scope 对象,就是$rootScope 对象。这个scope链是这样的:

所有scope都遵循原型继承(prototypal inheritance),这意味着它们都能访问父scope们。对任何属性和方法,如果AngularJS在当前scope上找不到,就会到父 scope上去找,如果在父scope上也没找到,就会继续向上回溯,一直到$rootScope 上。即如果controller是多层嵌套的,就会从最里面一直往外找,这个scope链是这样的:

唯一的例外:有些指令属性可以选择性地创建一个独立的scope,让这个scope不继承它的父scope们。

$scope的作用域

Angular只有div嵌套$scope才会有继承。一般而言$scope会先找自己的,揉自己没有才会向上找复原素直到找到为止。

$rootscope根作用域,是全局的。针对父元素,如果他找不会继续找父元素。

若父元素是一个对象,子元素没有对象,他会继承父元素的对象,子元素的更改会影响父元素的改变,因为他们都是指向同一个对象即同一个地址。

时间: 2024-10-12 22:45:25

Angular js 学习总结的相关文章

[Pro Angular.JS]学习笔记1.1:设置开发环境

可以使用yeoman.io,很方便.我已经写了一篇随笔,介绍如何使用.这里也有一篇介绍的文章:http://www.cnblogs.com/JoannaQ/p/3756281.html 代码编辑器,在Mac下用了一下WebStorm,太恶心了.另外发现书的作者使用的开发环境是Windows + VS Express 2013,为了方便学习,我也使用VS Express 2013 Update2.VS2013用起来蛮舒服的,把WebStorm比得跟驼屎一样.也许是因为我没用习惯吧. 1.安装Nod

Angular JS 学习笔记

特定领域语言 编译器:遍历DOM来查找和它相关的属性, 分为编译和链接两个阶段, 指令:当关联的HTML结构进入编译阶段时应该执行的操作,可以写在名称里,属性里,css类名里:本质上是函数 稳定的DOM:绑定了数据模型的DOM元素的实例不会在绑定的生命周期发生改变 作用域:用来检测模型的改变和为表达式提供执行上下文的 AngularJS 和其它模板系统不同,它使用的是DOM而不是字符串 指令: 由某个属性.元素名称.css类名出现而导致的行为,或者说是DOM的变化 Filter过滤器:扮演着数据

Angular JS学习笔记

之前的学习方法有点盲目,建议以后只看与工作有关的内容,并且多问那些是只和工作有关联的. 遇到问题的时候,项目不急的话,自己研究,项目急的话,马上问. 方法不对,再努力也没有用. Angular JS学习网站:http://www.zouyesheng.com/angular.html#toc7 [  项目有关的内容 ] ng-model ng-click ng-options ng-repeat ng-if ng-show ng-hide ng-controller ng-href(有印象) {

[Cousera Angular JS学习笔记]第一周

最近在给搜索引擎做前台,开始学习Angular JS,直接上coursera上的课程:https://www.coursera.org/learn/angular-js/home/week/1(没有JS基础的同学可以和我一样先过下cousera的JS课程 Interacticity with JavaScript) 要先安装bower(方便获取JS),安装bower之前要先安装node JS (1) 安装nodejs过程直接参考http://czpae86.iteye.com/blog/1636

ptyhon , angular js 学习记录【1】

1.日期格式化 Letter Date or Time Component Presentation Examples G Era designator Text AD y Year Year 1996; 96 M Month in year Month July; Jul; 07 w Week in year Number 27 W Week in month Number 2 D Day in year Number 189 d Day in month Number 10 F Day of

Angular JS 学习

学习一个google 的开发的 前端js 框架   Angular JS. 参照的书:  Angular Js  published by O'REILLY. 第二个小例子:  有一个textbox 文本框,当输入内容,placeholder 中的内容会跟着变化. 因为把ng-model 拼错了,所以显示的结果中, 文本内容改变了,p的内容没有跟着有相应变化,找了好久没找出原因,原来是ng-model拼错,无语. <html ng-app = "myApp"><hea

angular.js学习的第一天

第一天对angular.js进行学习,肯定是面对的入门的最简单的实例: 实现下面的这个效果,首先需要在html页面引入angular.js,在下面的div中,ng-app则表示在当前div是一个angular.js的应用程序:ng-model指令则实现把对应的值 绑定到当前的应用程序:ng-bind 指令把应用程序数据绑定到 HTML 视图. <!DOCTYPE html><html lang="en"><head> <meta charset

Angular JS 学习笔记(一)

1. 菜鸟教程:http://www.runoob.com/angularjs/angularjs-tutorial.html 2. Angular JS中文网:http://www.apjs.net/

Angular.js学习笔记 (二)

用A链接对象解析url的组成 var url = 'https://www.baidu.com:8080/aaa/1.html?id=10#name'; var aLink = document.createElement('a'); aLink.href = url; console.log(aLink);//<a href="https://www.baidu.com:8080/aaa/1.html?id=10#name"></a> console.log(