【发布时间】:2018-03-15 15:54:27
【问题描述】:
我还是个学习者。不仅在 Ionic 中,在 Angular 中也是如此。
我已经编写了一些页面,并希望在每个页面中添加一个页脚,以便用户可以在所有主页之间进行切换。在写完第 2 页后,我发现如果有这样的服务会很好,因为我再次使用了相同的方法。
这是我的服务现在的样子:
export class Navigation {
public navCtrl: NavController;
onLoadHome(){
this.navCtrl.push(HomePage);
}
}
当我现在在 HTML 模板中调用 Navigator.onLoadHome() 时,出现以下错误: 无法读取未定义的属性“推送”。
所以我知道我的应用找到了服务并找到了方法。但是我的 navCtrl 是未定义的。我通过执行以下操作尝试了另一种方法:
export class Navigation {
constructor(private navCtrl: NavController){}
onLoadHome(){
this.navCtrl.push(HomePage);
}
}
现在我收到另一条错误消息:无法解析导航的所有参数。
我真的不知道该怎么做才能完成这项工作。我希望你能帮助我。
(顺便说一句。我已经稍微缩短了类。但是其他方法与 onLoadHome 一样,仅适用于其他页面。)
【问题讨论】:
-
发布
NavController -
NavController应该只注入到页面/组件中。在服务中操作导航堆栈通常不是一个好主意 -
你可以将
NavController对象传递给onLoadHome()这样的函数onLoadHome(navCtrl: NavController)。
标签: angular service ionic2 undefined