angularJS:ng-repeat作用域及父作用域调用$parent

一、关于ng-repeat的作用域学习:

1、ng-repeat会在上一级作用域名中创建一个子 作用域。

2、此时如果需要在子作用域中调用父作用域的变量,则可以使用$parent.variableName来调用。

3、ng-repeat中调用和父作用域同名的变量,无$parent前缀则指的是调用的子作用域的变量,就像局部变量一样。

4、ng-repeat中的$index: element in elements  当前element在elements中的下标数。例如第一个element,则$index=0.

二、代码效果

三、详细代码

 1 <DOCTYPE html>
 2 <html ng-app="app">
 3 <head>
 4 <meta charset="utf-8"/>
 5 <title>ng-repeat</title>
 6 <script src="jquery-1.10.2.min.js"></script>
 7 <script src="angular.min.js"></script>
 8 </head>
 9 <body >
10 <h1>scope</h1>
11 <div ng-controller="ParentCtrl" >
12 ParentCtrl:<br/>
13 父scope的countrywaibu:{{countrywaibu}}<br/>
14 父scope的countries:<br/>{{countries|json}}
15 <ul>
16 <li ng-repeat="countrywaibu in countries">ng-repeat:<br/>
17 child 中调用父scope的$parent.countrywaibu :{{$parent.countrywaibu}}<br/>
18 child中与父scope同名的countrywaibu的countrywaibu.name:    <input type="text" ng-model="countrywaibu.name"></input>
19     <span>{{countrywaibu.name}}</span><br/>
20     <button ng-click="remove($index)" >移除countries中的当前元素</button>
21 </li>
22 </ul>
23 </div>
24
25 <script type="text/javascript" chartset="utf-8">
26 // the controller
27 var app=angular.module(‘app‘,[]);
28 app.controller(‘ParentCtrl‘,function($scope){
29     $scope.countrywaibu="waibu";
30     $scope.population = 7000;
31     $scope.countries = [
32         {name: ‘France‘, population: 63.1},
33         {name: ‘United Kingdom‘, population: 61.8}
34     ];
35     $scope.remove = function(index) {
36         //删除index下标的某个元素
37         $scope.countries.splice(index, 1);
38         }
39 });
40 </script>
41
42 </body>
43 </html>
时间: 2024-10-14 08:15:45

angularJS:ng-repeat作用域及父作用域调用$parent的相关文章

Part 6 AngularJS ng repeat directive

ng-repeat is similar to foreach loop in C#. Let us understand this with an example. Here is what we want to do. 1. For each employee we have in the employees array we want a table row. With in each cell of the table row we to display employee Firstna

AngularJS中的父作用域与自作用域

对于$scope上的原生类型,如$scope.name=""; 自作用域获取变量时,会查找作用域本身,找不到就会查找父作用域 修改时,若本作用域不存在,就会在本作用域创建一个变量,而不会向上查找并修改父作用域的变量 对于$scope上的对象,如$scope.name={}; 自作用域获取变量时,会查找作用域本身,找不到就会查找父作用域 修改时,若本作用域不存在,会向上查找并修改父作用域的变量 1 <!DOCTYPE html> 2 <html > 3 <h

AngularJs 学习笔记(一)作用域

AngularJs采用了注重时效的MVC方式,是基于MVW模式. 1.$scope和作用域的概念. AngularJs中的$scope对象是模板的域模型,也称作作用域实例,通过为其属性赋值,可以传递给函数进行渲染,$scope对象可以精准地控制域模型的数据和操作. 2.Controller控制器 其本质就是一个JavaScript函数,不需要扩展任何AngularJs的类或者API.其主要职责是初始化作用域实例,包括提供模型的初始值和增加UI相关的行为来扩展$scope对象.在设定模型初始值的时

angular自定义指令在指令里面调用父作用域里面的方法传参

使用自定义指令的时候在指令里面调用父作用域里面的方法,在指令里面 在父作用域里面的模板里面使用指令 在控制器里面

angularjs在指令中使用子作用域引申出的‘值复制’与‘引用复制’的问题

<!DOCTYPE html> <html lang="zh-CN" ng-app="app"> <head> <meta charset="utf-8"> <title>在指令中使用子作用域</title> <link rel="stylesheet" href="../bootstrap.min.css"> </h

ng-repeat 嵌套访问父作用域里的属性

在一个项目中,需要嵌套循环输出一个二维表的里的数据 数据结构 [ { id:1, list:[ { id:1, name:'li' } ] }, { id:2, list:[ { id:1, name:'ming' } ] } ] 模板页 <div ng-repeat="c in obj"> <div ng-repeat="a in c.list"> <span ng-if="$first"> {{$paren

js 函数作用域, 块级作用域和词法作用域

函数作用域, 块级作用域和词法作用域 0 作用域: 0.1 作用域是程序源代码中定义变量的区域. 0.2 作用域规定了如何查找变量,也就是确定当前执行代码对变量的访问权限. 0.3 ECMAScript6之前只有全局作用域和函数作用域. 0.4 JavaScript采用词法作用域(lexical scoping),也就是静态作用域. var scope = "global scope"; function checkscope(){ var scope = "local sc

《你不知道的javascript》一、函数作用域和块作用域

函数中的作用域 所谓函数作用域,就是属于这个函数的全部变量都可以在整个函数的范围内使用及复用. 1 function foo(a) { 2 var b=a; 3 function bar(c){ 4 var c=b*2; 5 console.log(c); 6 } 7 bar(); //4 8 } 9 foo(3); 1 function foo(a) { 2 var b=a; 3 function bar(c){ 4 var c=b*2; 5 console.log(c); 6 } 7 bar

python作用域和JavaScript作用域

JavaScript 一.JavaScript中无块级作用域 一个大括号一个作用域,就属于块级作用域,在Java和c#才存在块级作用域 function Main(){ if(1==1){ var name = 'seven'; } console.log(name); } // 输出: seven 二.JavaScript采用函数作用域 在JavaScript中每个函数作为一个作用域,在外部无法访问内部作用域中的变量 function Main(){ var innerValue = 'sev