我试图弄清楚控制器继承是如何工作的。我有三个控制器:
var myApp = angular.module('app', []);
myApp.controller('MainController', ['$scope', function($scope) {
$scope.name = 'main';
$scope.getName = function() {
return $scope.name;
};
}]);
myApp.controller('Child1', ['$scope', function($scope) {
$scope.name = 'child1';
}]);
myApp.controller('Child2', ['$scope', function($scope) {
$scope.name = 'child2';
}]);
和我的看法
<div ng-app='app'>
<div ng-controller='MainController'>
<div ng-bind='getName()'></div>
<div ng-controller='Child1'>
<div ng-bind='getName()'></div>
<div ng-controller='Child2'>
<div ng-bind='getName()'></div>
</div>
</div>
</div>
</div>
但它们都显示“主要”。我该如何解决?
这是一个小提琴http://jsfiddle.net/g3xzh4ov/3/
这是一个如何在Angular中扩展控制器的示例。
myApp.service('baseCtrl', function () {
this.name = 'base';
this.getName = function() {
return this.name;
};
});
myApp.controller('MainController', ['baseCtrl', function (baseCtrl) {
angular.extend(this, baseCtrl);
this.name = 'main';
}]);
myApp.controller('Child1', ['baseCtrl', function (baseCtrl) {
angular.extend(this, baseCtrl);
this.name = 'child1';
}]);
myApp.controller('Child2', ['baseCtrl', function (baseCtrl) {
angular.extend(this, baseCtrl);
this.name = 'child2';
}]);
它要求使用controllerAs
,它取代$scope
有this
,它是这样的情况特别好。
注意service
,它是new
在幕后使用的,而不是其他Angular服务类型的用法,因此this...
可以将语句从控制器直接带到单独的服务。
有几种执行控制器继承的方法。
关于原始代码,Angular中没有“控制器继承性”。和$scope
原型继承假设
$scope.getName = function() {
return $scope.name;
};
$scope.name
从定义它的上下文返回,MainController
在您的情况下是函数。
问题内容: Angular Controller中的方法很少,它们不在scope变量上。 有谁知道,我们如何在Jasmine测试中执行或调用这些方法? 这是主要代码。 现在,在我的茉莉花测试中,我们正在传递“ handleSuccessOfAPI”和“ handleFailureOfAPI”方法,但是这些是未定义的。 这是茉莉花测试代码。 问题答案: 因为您将无法使用这些功能。当您定义一个命名的J
我有这段代码,我看不出问题的根源在哪里,我在chrome控制台我的控制器中没有发现任何错误: 和在div-loadedthings中正确加载; 控制台中的newMsgs按照它应该的方式进行解析; 我让它为其他页面工作,但似乎我错过了这一页上的一些东西。我有
本文向大家介绍AngularJS控制器继承自另一控制器,包括了AngularJS控制器继承自另一控制器的使用技巧和注意事项,需要的朋友参考一下 AngularJS里控制器继承,常用的就是作用域嵌套作用域。默认情况下,当前作用域中无法找到某个属性时,就会在父级作用域中进行查找,若找不到直至查找到$rootScope。 但有些情况下,rootScope下就是我们的controller,不可能将大量的公
问题内容: 我们有下课: 输出为: 超 子 问题: 什么礼物?是父级的对象,哪个孩子作为字段保留? 如果是这样,抽象类的继承如何工作?您不能创建抽象类的实例。 如果不是,重写方法在哪里保留? 我尝试使用Google,但发现的只是关于如何继承类的常见信息。 更新: 您仍在告诉我明显的事情。也许我的问题没有引起误解,但我将尝试改写一下: 当我们使用调用方法时,您说的是,我们正在访问父级的方法。但是,如
如果答案是否定的,如何将特定类的服务(例如,BookService)注入到控制器中?
对于每个子类,我都有一个DAO和服务类,如、等。 在前端,用户可以通过Angular 2界面创建优惠券、销售或交易,所以我决定使用以下控制器: (CouponController、SaleController、DealController从PromotionController继承) 将包含所有子类通用的所有通用CRUD函数,并且在特定的控制器中,我将处理那些类的特定操作。 A)现在面临的问题是如