Mih*_* KR 23 javascript angularjs angularjs-controller
这是一个现实生活中的角度问题,我无法解决这个问题.我喜欢Angular,但这个问题现在让我烦恼不已.
扩展现有控制器功能的最佳实践是什么,并在我的应用程序的其他页面上使用扩展控制器?换句话说:如何在Angular中进行控制器继承?
编辑出来 - 2014年9月23日,不要认为我原来的用例的描述可以帮助访问者更好地理解我在这里的意思.我认为它将人们从真正的问题中解脱出来.
Mih*_* KR 44
半年后,我想我完全理解发生了什么.正如在这篇文章的评论中指出的那样,最简单的答案是服务.
在最佳情况下,所有范围变量都是从工厂/服务收集的值.不过,您可能希望使用完全相同的控制器和一个额外的函数:$ scope.someFunction(){},并保留其余部分.在这种情况下,你确实有一个"瘦"控制器逻辑,这是理想的控制器设计 - 但仍然可能最终导致一百或更多行代码.您不希望在其他控制器中复制,只是因为您需要一些额外的控制器逻辑(如$ scope.someFunction())
那你怎么办呢?
答案是这样的:
如果你绝对肯定你做了,那就去控制器注射:
.controller('childController', function ($scope, $controller) {
'use strict';
$controller('parentController', {$scope: $scope});
$scope.someFunction=function(){}
})
Run Code Online (Sandbox Code Playgroud)就这么简单. - 通常情况下,工厂可以解决问题..
希望你觉得这个有用 ;)
归档时间: |
|
查看次数: |
28465 次 |
最近记录: |