首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果组件位于不同的模块中,如何从另一个组件调用组件的方法?

如果组件位于不同的模块中,如何从另一个组件调用组件的方法?
EN

Stack Overflow用户
提问于 2017-10-16 13:42:31
回答 1查看 36关注 0票数 0

我在一个名为MenuComponent的模块中有一个menu,我想在另一个模块中的AppComponent中调用这个组件的getMenu(path:string)方法。

这是我的MenuComponent

代码语言:javascript
运行
复制
import { Component, OnInit } from '@angular/core';
import {
TreeComponent,
TreeNode,
} from 'angular-tree-component';
import { MenuService } from '../../menu.service';

@Component({
selector: 'menu',
templateUrl: './menu.component.html',
styleUrls: ['./menu.component.css']
})
export class MenuComponent {

constructor(private menuService: MenuService) { }

nodes:any;

 getMenu(path:string): void {
   this.menuService.getData(path).subscribe(data => {
         // Read the result field from the JSON response.

         let newValue = JSON.stringify(data).replace('{"Node":', '[');
         newValue = newValue.substring(0,newValue.length - 1);
         newValue+="]";
        const menu=JSON.parse(newValue);
         this.nodes = menu;
      });

 }

}
EN

Stack Overflow用户

回答已采纳

发布于 2017-10-16 13:44:59

导入模块,并调用方法-静态和实例版本如下所示.在您的示例中,它是一个实例方法,因此第二个示例应该可以工作。

代码语言:javascript
运行
复制
import { MenuComponent } from './menu';

// Static
MenuComponent.getMenu('...');

// or Instance
const menu = new MenuCompnent(myMenuService);
menu.getMenu('...');

你需要注入菜单服务。您可以导入模块并以相同的方式构造其中的一个模块。

看看角分量相互作用文档,看看如何做到这“角度的方式”。对于两个组件之间的交互,有多种整洁的模式。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46771813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档