gpt4 book ai didi

angularjs - AngularJS Controller 可以继承同一模块中的另一个 Controller 吗?

转载 作者:行者123 更新时间:2023-12-03 04:10:52 30 4
gpt4 key购买 nike

在模块内, Controller 可以从外部 Controller 继承属性:

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

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

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

示例来自:无效链接: http://blog.omkarpatil.com/2013/02/controller-inheritance-in-angularjs.html

模块内的 Controller 也可以从同级继承吗?

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

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

app.controller('ChildCtrl', function($scope, $injector) {
$injector.invoke(ParentCtrl, this, {$scope: $scope}); //This does not work
});

第二个代码自 $injector.invoke 起不起作用需要一个函数作为第一个参数,但找不到 ParentCtrl 的引用.

最佳答案

是的,可以,但您必须使用 $controller 服务来实例化 Controller :-

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

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

app.controller('ChildCtrl', function($scope, $controller) {
$controller('ParentCtrl', {$scope: $scope}); //This works
});

关于angularjs - AngularJS Controller 可以继承同一模块中的另一个 Controller 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18461263/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com