angularjs 1.5 在组件内部调用控制器

angularjs 1.5 calling a controller inside a component

在组件元素内部调用控制器元素有问题吗?

像这样:

angular.module('myApp.bandeja_entrada', [...])
.component('MyComponent', {
    templateUrl: 'my_component/my_component.html',
    controller: 'MyController',
})
.controller('MyController' , [ ... ]);

不,这没有问题。事实上,我个人认为以这种方式定义我的组件控制器更好,因为:

A.)在多个地方使用它

这样您实际上定义了一个 Angular 控制器,因此它在整个模块中可用。所以你可能会有一个用例,你需要在几个地方使用你的控制器。通过这种方法,您可以轻松地在多个地方使用 Controller。一次用于组件,一次可能在 "regular" 视图中。

B.) 文件结构

我真的很喜欢分开我的 Controller/Component 定义。所以我有一个包含组件定义及其路由内容的文件,另一个用于控制器。如果您将控制器函数声明为 Angular 控制器,那么它真的很干净。

两种方式都可以,选择更适合自己的一种吧!