Angular2:从服务传递组件页面到其他组件不起作用

时间:2016-07-11 15:14:45

标签: angular angular2-components

如果我通过服务将组件页面传递给另一个组件页面,那么另一个组件无法使用“undefined [?]”进行实例化。

如何实现这一目标? (上下文:以便我可以在一个服务中集中组件导航)

更新

这是我们目前的解决方法,如果我可以这么说,就像大多数Ionic Beta和Angular Beta一样难看。这是我们的“PassThroughComponent,每当我们想通过navService动态地从一个组件导航到组件时就会被调用(我们在那里计算了一些计算用户旅程的算法):

  ngOnInit() {
        this.nextPage(this.navService.getNextPage())
    }

    nextPage(nextPageString) {
        switch (nextPageString) {
            case "Fairytales":
                this.navController.push(Fairytales);
                break;
            case "Bitcoin":
                this.navController.push(Bitcoin);
                break;
            case "Unicorns":
                this.navController.push(Unicorns);
                break;
            case "Rainbows":
                this.navController.push(Rainbows);
                break;
            case "Marbles":
                this.navController.push(Marbles);
                break;
            case "Dogs":
                this.navController.push(Dogs);
                break;
            case "Cats":
                this.navController.push(Cats)
                break;
            default:
                console.log("Unknown page", nextPageString)
        }
    }

不工作:

import { Nav } from 'ionic-angular'

@Injectable()
export class NavService {

   @ViewChild(Nav) nav;
   public dismiss() {
       this.nav.setRoot(HomePage)
   }
   ...
  

browser_adapter.js:84 ORIGINAL EXCEPTION:TypeError:无法读取未定义的属性'setRoot'

也无法使用navController。

0 个答案:

没有答案