我在角度4中使用路由时遇到了一点问题。你知道,当我尝试使用navige('root',data)
将数据从一个组件传递到另一个组件时,我刚刚收到了[对象对象],[对象对象],[对象对象]
。
组成部分
export class FillRequestComponent implements OnInit {
constructor(private route: Router, private dataRoute: ActivatedRoute) { }
ngOnInit() {
const key: Products = this.dataRoute.snapshot.params['objectProducts'];
console.log(key);
}
界面
export interface Products {
color: string,
question: string,
surname: string,
icon: string,
selected: boolean,
transparent: boolean
}
发送方法
const data = {
category: this.optionSelected,
objectProducts: this.optionSelected === 'CREDIT' ? this.productCreditList :
this.productAccountsList
};
this.route.navigate(['/requests/fill', data]);
您无法在参数中传递数据列表
所以你需要转换为字符串对象的列表
navigate('root', JSON.stringify(data))
然后一边解析一边得到这个
const key: Products =JSON.parse(this.dataRoute.snapshot.params['objectProducts']);
当你通过一个对象作为路由参数,c
const obj = {};
console.log(obj.toString());
在当前版本现在可以在< c
角7.2引入了状态路由到<代码> Naviga
可以强制设置状态:
this.router.navigate(['example'], {
state: { example: 'data' }
});
或者声明性地:
<a routerLink="/example" [state]="{ example: 'data' }">
Hello World
</a>
并使用以下命令读入顶级组件:
this.router.getCurrentNavigation().extras.state;
或在子组件内使用:
window.history.state
添加了在StackBlitz上使用它的工作示例
我正在研究这个angular2项目,其中我使用从一个组件导航到另一个组件。 有两个组件。i、 例如, 我想从PagesComponent导航到DesignerComponent。 到目前为止其路由正确但我需要通过 我尝试使用RouteParams,但它的获取页面对象。 下面是我的代码: 页面.组件. ts 在html中,我正在执行以下操作: 在 DesignerComponent 构造函数中,我完
我想要做的是将数据传递给从insid路线 在应用程序组件ts中,我有这个 那么这样的路线 在profile组件中,我需要以某种方式将标题传递给route。。 我尝试将其放在ngOnInit中,但它不起作用 因此,我想问,是否有可能以某种方式实现这一目标。 我试着跟着 它成功地改变数据,但有问题,所以它只是保持无限导航
在我的Angular 2路由的一个模板(FirstComponent)中,我有一个按钮 first.component.html 我的目标是实现: 按钮点击->route to另一个组件,同时保留数据,而不使用另一个组件作为指令。 这是我试过的... 第一种方法 在同一个视图中,我存储、收集基于用户交互的相同数据。 First.Component.TS 通常通过ID路由到SecondCompone
问题内容: 我已经在Angular 2中创建了一个单页抵押计算器应用程序,它对我来说就像一个学习游乐场(试图让更多的人习惯于当前在工作中使用的技术堆栈)…它运行在http://www.mortgagecalculator123.com如果你想看看。如果您想查看它,可以在页面上通过Fork Me链接将其开源。 无论如何,我想做的就是能够直接从URL将变量传递到我的应用程序,以便我的Angular 2
我有两种几乎相似的方法: 我想写一个通用函数,如下所示: 因此,我想让这样的东西发挥作用: 实际上,我找不到如何传递和作为参数。有什么建议吗?
问题内容: 我有一个控制器,我写的,我在多个地方使用我的应用程序和,就像这样: 在控制器/模板中,我希望该值存在,并且整个事情都围绕着这个想法建立。不过,现在,我需要以稍微不同的方式使用控制器,而无需使用,但仍然需要能够传递。我看到并认为它可以满足我的需要,例如: 但这似乎不起作用。任何人都有任何想法如何在这样的单个实例中为范围传递变量? 编辑:在此上方的控制器正在加载和值,如下所示: 问题答案: