首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Angular 2 @Input()装饰器:从typescript使用

Angular 2 @Input()装饰器:从typescript使用
EN

Stack Overflow用户
提问于 2016-12-20 08:45:27
回答 1查看 674关注 0票数 0

我在Ionic2/Angular2项目中有一个这样构建的菜单:

代码语言:javascript
运行
复制
@Component({
   selector: 'page-home',
   templateUrl: 'home.html'
})
export class HomePage {

   public appRoot;
   public menuPages;

   constructor(
      public navCtrl: NavController,
      public modalCtrl: ModalController
   ){
      //Initialize root page
      this.appRoot = StreamPage;

      //Declare pages for menu items
      this.menuPages = [
         {
            page: StreamPage,
            name: "Home",
            icon: "home"
         },
         // more pages

   menuOpenPage(page){
       if(page === 0){
           this.chatsModal();
       }else{
            this.appRoot = page;
       }  
   }

页面在下面的nav组件中呈现,位于相同的menu.html文件中:

代码语言:javascript
运行
复制
<ion-nav id="mainNav" #content [root]="appRoot"></ion-nav>

..。因此,当我想打开一个页面时,我从页面调用“menuOpenPage( menu.html )”函数,将页面作为参数传递。它确实工作得很好,但现在我正在为配置文件构建一个页面,我还想通过@Input()装饰器传递一些数据,以确定我将看到哪个用户的配置文件。

也就是说:我想在单击侧边菜单顶部的图像时打开我的配置文件,所以我调用menuOpenPage(配置文件),并以某种方式传递了"currentUser“作为参数。另一个例子:我点击其他人的个人资料,所以现在我传递他的objectId作为参数,以获取他的数据并能够看到它。

好吧,我只是不知道该怎么做。我知道如何在HTML中操作,但是...如何使用Typescript中的这个装饰器?

EN

回答 1

Stack Overflow用户

发布于 2016-12-20 09:40:57

在这种情况下,我会考虑使用依赖注入。具体地说,我将定义服务类(即带有@Injectable decoratori的类),用于存储我希望在应用程序的不同部分中共享的数据,并配置DI,以便在HomePage组件和实际负责检索或构建配置文件的组件之间共享此类类的实例。

有关更多详细信息,请参阅https://angular.io/docs/ts/latest/cookbook/component-communication.html

我希望这能帮到你

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

https://stackoverflow.com/questions/41233266

复制
相关文章

相似问题

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