基于Angular中ng-controller父子级嵌套的相关属性详解
2019/6/26 23:25:27
本文主要是介绍基于Angular中ng-controller父子级嵌套的相关属性详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
ng-controller是为应用变量添加控制器
当有两个控制器father、child且child 在 father内,那child 可以称为子控制器,它将继承父控制器father的scope。child就可以访问到father的scope中的所有函数和变量。
例:
<div ng-controller="father"> <div >name1:{{ name1 }}</div> <div ng-controller="child">name2:{{ name2 }}</div> </div>
情况1:
app.controller("father",function ($scope) { $scope.name1 = "x"; $scope.name2 = "y"; });
页面显示结果:
name1:x name2:y
情况2:
app.controller("child",function ($scope) { $scope.name1 = "a"; $scope.name2 = "b"; });
页面显示结果:
name1: name2:b:
情况3:
app.controller("father",function ($scope) { if($scope.name1){ $scope.name1 += "!"; console.log($scope.name1); } else { $scope.name1 = "@"; console.log($scope.name1); } if($scope.name2){ $scope.name2 += "#"; console.log($scope.name2); } else { $scope.name2 = "$"; console.log($scope.name2); } console.log("father"); }); app.controller("child",function ($scope) { if($scope.name1){ $scope.name1 += "%"; console.log($scope.name1); } else { $scope.name1 = "^"; console.log($scope.name1); } if($scope.name2){ $scope.name2 += "&"; console.log($scope.name2); } else { $scope.name2 = "*"; console.log($scope.name2); } console.log("child"); });
控制台打印结果:
@ $ father @% $& child
页面显示结果:
name1:@ name2:$&
可以看出name1的页面显示结果与控制台打印结果不一致
结论:
父级控制器先执行而子级控制器后执行。父级和子级控制器都可对父级下scope作用域进行访问操作,但当子级控制器尝试处理父级作用域内、子级作用域外的数据则可能会导致父级中的数据变脏。
以上这篇基于Angular中ng-controller父子级嵌套的相关属性详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持找一找教程网。
这篇关于基于Angular中ng-controller父子级嵌套的相关属性详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26怎么使用 nvm(Node Version Manager)下载并安装指定版本的 Node.js?-icode9专业技术文章分享
- 2024-11-26Vue CLI资料入门教程
- 2024-11-26Vue CLI资料入门教程
- 2024-11-26Vue3+Vite资料:新手入门教程详解
- 2024-11-26Vue3阿里系UI组件资料入门教程
- 2024-11-26Vue3的阿里系UI组件资料入门指南
- 2024-11-26Vue3公共组件资料详解与实战教程
- 2024-11-26Vue3公共组件资料详解与实战教程
- 2024-11-26Vue3核心功能响应式变量资料入门教程
- 2024-11-26Vue3核心功能响应式变量资料详解