【发布时间】:2019-02-12 09:18:21
【问题描述】:
// 在engagement.component.ts:
class EngagementMembersController {
alphabetic: Array<string> = 'abcdefghijklmnopqrstuvwxyz'.split('');
constructor() {}
export const EngagementSetupMember: IComponentOptions = {
controller: EngagementMembersController,
templateUrl: 'engagementMembers.component.html'
}
//在topbar.moudel.ts:
import {EngagementSetupMember} from './../engagement.component';
export const topBarMembersModule: string = angular
.module('topbar-members', [])
.controller(EngagementSetupMember.controller)
.component('topbarMemberComponant', {
require: {
controller: '^EngagementMembersController'
},
templateUrl: 'topBarMembers.component.html'
})
.name;
但是当我使用它时,屏幕打印了一个错误:
vendor.js:36574 错误:[$compile:ctreq] 控制器 指令要求的“EngagementMembersController” 'topbarMemberComponant',找不到!
请帮忙!
【问题讨论】:
-
您能否也发布
EngagementMembersController的代码,并向我们展示您是如何注册该控制器的(您在哪里注册.component()或.controller()) -
是的,我编辑了它@HTom
-
你能发布
EngagementMembersController的实际代码吗?此外,您似乎错误地注册了该控制器。您需要为控制器提供名称和功能/类。假设EngagementSetupMember.controller是一个函数或类,像.controller('EngagementMembersController ', EngagementSetupMember.controller)这样的东西会更正确。 -
我为 EngagementMembersController 编辑了代码。第二个参数只接受一个函数、对象或类型 any[]。
标签: angularjs typescript angularjs-controller angularjs-components