Search code examples
angularjstypescriptangularjs-controllerangularjs-components

how to share data between 2 component angularjs (use typescrip)


i have a component :

export const TopBarMemberComponent: angular.IComponentOptions = {
        bindings: {},
        require: {
            controller: '^EngagementSetupMember'
        },
        templateUrl: 'topBarMembers.component.html'
    }

and parent component:

export const EngagementSetupMember: IComponentOptions = {
    controller: EngagementMembersController,
    templateUrl: 'engagement.component.html'
}

this is module

import {EngagementSetupMember} from './../engagementMembers.component';
import {TopBarMemberComponent} from './topBarMembers.component'

export const topBarMembersModule: string = angular
.module('topbar-members', [])
.component('topbarMemberComponant', TopBarMemberComponent)
.name;

but when i use it,screen printed

can not find EngagementSetupMemberController

please help!


Solution

  • Your code should look like this so far:

    // topBarMember.component.ts
    export const TopBarMemberComponent: angular.IComponentOptions = {
      bindings: {},
      require: {
        controller: '^EngagementSetupMember'
      },
      templateUrl: requrire('./topBarMembers.component.html')
    }
    
    
    // engagementSetupMember.component.ts
    export class EngagementMembersController {}
    
    export const EngagementSetupMember: IComponentOptions = {
      controller: EngagementMembersController,
      templateUrl: require('./engagement.component.html')
    }
    
    // module.ts
    import {EngagementSetupMember} from './../engagementMembers.component';
    import {TopBarMemberComponent} from './topBarMembers.component'
    
    export const topBarMembersModule: string = angular
      .module('topbar-members', [])
      .component('engagementSetupMember', EngagementSetupMember)
      .component('topbarMemberComponant', TopBarMemberComponent)
      .name;