Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度导航到组件并绑定其数据_Angular_Typescript_Data Binding_Router - Fatal编程技术网

Angular 角度导航到组件并绑定其数据

Angular 角度导航到组件并绑定其数据,angular,typescript,data-binding,router,Angular,Typescript,Data Binding,Router,我想从一个组件导航到另一个组件,并将一些数据导航到该组件 代码如下: this.router.navigate(['some-component', { name: 'Some Name' }]); 在SomeComponent中,我捕获的路由参数如下: this.route.params.subscribe(params => { //assign it to some component member, like this.name = (JSON.parse(param

我想从一个组件导航到另一个组件,并将一些数据导航到该组件

代码如下:

this.router.navigate(['some-component', { name: 'Some Name' }]);
在SomeComponent中,我捕获的路由参数如下:

this.route.params.subscribe(params => {
   //assign it to some component member, like
   this.name = (JSON.parse(params))['name'];
});
这是可行的,但它并没有给我信心,在页面被导航到某个组件视图后,url看起来很糟糕,并且在页面重新加载后它不会保持状态

我希望避免使用路线参数

导航到某个组件并向其发送将在其中使用并绑定到this.name的值的正确方法是什么


这两个组件不在子/父关系中

是否可能是空间被转换为%20?如果是这样,那就是默认的URL编码。 退房 从句法上看,你所得到的似乎与我从中学到的一致。 也许你需要


你说url看起来不好是什么意思?URL是什么样子的?这是次要的,URL看起来不那么重要。我想我在找一些基本的东西。导航到组件并在其公共属性上设置一些数据。如果您希望在组件之间共享数据,因为共享服务是最常见的场景,其中不存在父子关系:您只需要使用例如BehaviorSubject而不是Subject。是否有避免路由参数的方法。如果我需要发送整个对象呢?你有几个选择。发送id并使用服务查找域模型中的数据。或者将对象存储在cookie中并再次检索它。但如果客户端浏览器禁用cookie,则可能会破坏这种方法。还有本地存储。虽然你可以储存的数量是有上限的。Google localstorage大小限制localstorage和SessionStorage最多可以使用10MB的存储空间,但这个数字实际上是两者的总和。对于IndexedDB,您可以在桌面上免费使用高达50MB的内存,在手机上免费使用5MB的内存。但是,用户可以通过授予许可来取消限制谢谢您的解释:非常感谢。我想我会带着身份证再次找回它。我不能相信angular在这里没有选择,还有别的选择。输入绑定。。试试这个@Input hero:hero;在孩子和[hero]=英雄在他们的场景中,父母的*ngFor中。谢谢,这不是孩子组件。我讨厌所有这些愉快的解释。但当你遇到真正的问题时,你必须像2009年那样去做。
encodeURI('Some Name')