AngularJS:如何访问Parent's Javascript文件中的命名控制器,反之亦然
AngularJS : How to access Parent's Named Controller inside Javascript files and vice versa?
我最近一直在使用命名控制器,它比使用传统的$scope变量更好。在DOM中,访问父控制器的属性和函数变得非常容易。下面给出了一个例子。
<div ng-controller="parentCtrl as parent">
<div ng-controller="childCtrl as child">
Parent age is {{ parent.age }}
Child age is {{ child.age }}
</div>
</div>
我想知道如何在angular的javascript文件中使用相同名称的控制器。有点像下面提到的。
angular.controller('childCtrl',function(...) {
var vm = this;
this.age = 24;
console.log(parent.age);
});
我知道在使用它之前必须注入父级。在我的项目中,我使用了RequireJS和UI Router,因此它完全避免了angular.controller
和其他构造。有人能给我一个纯香草Angular的解决方案吗?或者在RequireJS的帮助下?
我的goto解决方案是使用$scope变量来访问父作用域。
app.controller('MainCtrl', function() {
this.name = 'from parent';
});
app.controller('ChildCtrl', function($scope) {
this.name = $scope.parent.name;
});
这是一个完整的示例
为了在控制器之间共享数据时使用更好的设计,角度服务是更好的解决方案。如果您更改DOM布局并移动子ctrl,那么应用程序可能会崩溃。通过使用服务,控制器独立于DOM布局。
相关文章:
- Word文件(Javascript?)中有哪些字符
- 获取二进制数据并将其保存为.mp3文件Javascript
- 创建包含文本内容的新 Google 云端硬盘文件 (javascript)
- 将从 URL 输出的 JSON 保存到文件 javascript
- 单个页面上的多个音频文件javascript
- 将表单数据写入json文件-javascript
- imacros提取两部分数据+连接常量保存到文件javascript
- 检索 XML 文件 (JavaScript)
- 如何将画布图像“data:image/jpeg;base64,.”转换为普通图像文件 - JavaScript
- 用固定的行名称附加文件 javascript
- 打开并读取二进制文件(JavaScript)
- 将 emacs 用于大型多文件 JavaScript 项目
- 加载外部javascript,但HTTP请求重复一个文件javascript
- 从2D数组创建图像文件-JavaScript
- 正在读取文本文件Javascript
- 通过django将STATIC_URL传递到文件javascript
- 从输入文件javascript中获取一些数据
- Django”;静态“;文件-Javascript
- 上传两次相同的图像文件-Javascript
- 从文本文件javascript中读取行/变量