如何设置ng-controller
作为$scope
的表达式?如何在AngularJS中动态注入控制器
ngController – {expression} – Name of a globally accessible constructor function or an expression that on the current scope evaluates to a constructor function.
但如何评价范围表达式作为控制器,控制器已经登记模块.controller
?
例如:
布局:
<div ng-controller="myExpr"></div>
的JavaScript(定义控制器):
app.controller('myCtrl', ['$scope', '$timeout', function() { ... }];
的JavaScript(父范围):
$scope.myExpr = ...;
什么应该在myExpr中通过表达式使用myCtrl作为控制器?
我试过$controller('myCtrl')
...没有工作...
附:如果控制器已通过全局可访问的函数定义..可以将其作为myExpr提供。但如果已经定义了该怎么办?
'app.controller('myCtrl',[]]'返回一个结果,该结果可以被分配给一个变量并且可以被分配给范围表达式。也就是说,我不明白你为什么想要做这样的事情...... – callmekatootie
如果你想在另一个控制器内部重用一个控制器的功能,你最好将你需要的东西重构成一个可以注入的服务在所有控制器中。 – Narretz
我想使用相同的控制器,但它应该适用于不同的服务。 例如,我们有一个控制器,它内部我们发送请求到一些API端点(通过服务),但在其他视图内部 - 同样的事情,但端点是另一个.. – ValeriiVasin