加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

AngularJS控制器可以从同一模块中的另一个控制器继承吗?

发布时间:2020-12-17 09:30:37 所属栏目:安全 来源:网络整理
导读:在一个模块中,控制器可以从外部控制器继承属性: var app = angular.module('angularjs-starter',[]);var ParentCtrl = function ($scope,$location) {};app.controller('ChildCtrl',function($scope,$injector) { $injector.invoke(ParentCtrl,this,{$scop
在一个模块中,控制器可以从外部控制器继承属性:
var app = angular.module('angularjs-starter',[]);

var ParentCtrl = function ($scope,$location) {
};

app.controller('ChildCtrl',function($scope,$injector) {
  $injector.invoke(ParentCtrl,this,{$scope: $scope});
});

示例via:死链接:http://blog.omkarpatil.com/2013/02/controller-inheritance-in-angularjs.html

也可以在模块内部的控制器继承自兄弟?

var app = angular.module('angularjs-starter',[]);

app.controller('ParentCtrl ',function($scope) {
  //I'm the sibling,but want to act as parent
});

app.controller('ChildCtrl',{$scope: $scope}); //This does not work
});

第二个代码不工作,因为$ injector.invoke需要一个函数作为第一个参数,没有找到ParentCtrl的引用。

是的,它可以,但你必须使用$控制器服务来实例化控制器,而不是: –
var app = angular.module('angularjs-starter',[]);

app.controller('ParentCtrl',function($scope) {
  // I'm the sibling,$controller) {
  $controller('ParentCtrl',{$scope: $scope}); //This works
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读