首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在angular 2中将表单字段的数据(值)从一条路由传递到另一条路由

在Angular 2中,可以使用路由参数或共享服务来将表单字段的数据从一条路由传递到另一条路由。

  1. 使用路由参数传递数据:
    • 在发送数据的路由中,将数据作为参数添加到目标路由的URL中。
    • 在接收数据的路由中,通过ActivatedRoute服务来获取传递的参数值。

例如,发送数据的路由可以使用以下代码将数据添加到URL中:

代码语言:typescript
复制

import { Router } from '@angular/router';

constructor(private router: Router) {}

sendData(data: any) {

代码语言:txt
复制
 this.router.navigate(['/target-route', { data: JSON.stringify(data) }]);

}

代码语言:txt
复制

接收数据的路由可以使用以下代码来获取传递的参数值:

代码语言:typescript
复制

import { ActivatedRoute } from '@angular/router';

constructor(private route: ActivatedRoute) {}

ngOnInit() {

代码语言:txt
复制
 this.route.paramMap.subscribe(params => {
代码语言:txt
复制
   const data = JSON.parse(params.get('data'));
代码语言:txt
复制
   // 使用接收到的数据进行操作
代码语言:txt
复制
 });

}

代码语言:txt
复制
  1. 使用共享服务传递数据:
    • 创建一个共享服务,该服务包含一个可观察对象或行为主题,用于存储和传递表单字段的数据。
    • 在发送数据的组件中,将数据存储到共享服务中。
    • 在接收数据的组件中,通过订阅共享服务中的可观察对象或行为主题来获取数据。

例如,创建一个共享服务来存储和传递数据:

代码语言:typescript
复制

import { Injectable } from '@angular/core';

import { BehaviorSubject } from 'rxjs';

@Injectable({

代码语言:txt
复制
 providedIn: 'root'

})

export class DataService {

代码语言:txt
复制
 private formDataSubject = new BehaviorSubject<any>(null);
代码语言:txt
复制
 formData$ = this.formDataSubject.asObservable();
代码语言:txt
复制
 setFormData(data: any) {
代码语言:txt
复制
   this.formDataSubject.next(data);
代码语言:txt
复制
 }

}

代码语言:txt
复制

在发送数据的组件中,将数据存储到共享服务中:

代码语言:typescript
复制

import { DataService } from 'path/to/data.service';

constructor(private dataService: DataService) {}

sendData(data: any) {

代码语言:txt
复制
 this.dataService.setFormData(data);

}

代码语言:txt
复制

在接收数据的组件中,通过订阅共享服务中的可观察对象来获取数据:

代码语言:typescript
复制

import { DataService } from 'path/to/data.service';

constructor(private dataService: DataService) {}

ngOnInit() {

代码语言:txt
复制
 this.dataService.formData$.subscribe(data => {
代码语言:txt
复制
   // 使用接收到的数据进行操作
代码语言:txt
复制
 });

}

代码语言:txt
复制

这些方法可以根据具体的需求选择使用,它们都可以实现在Angular 2中将表单字段的数据从一条路由传递到另一条路由。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

国庆节前端技术栈充实计划(8):我使用 AngularJS 和 ReactJS 经验

React 解决了我们团队开发中编写可维护代码诉求。 ? 2. React + Flux = ♥ 但沿着这条路走下去,我们发现并不是一切都很美好。...当我表单中遇到一个由于 ngIf directive 创建一个新子域而导致问题时,我处理起来还是很费劲。...还有当我想要从一个准备发送给服务器 JSON 中移除一些空白字段时,我发现 UI 中对应数据也被一并移除了 —— 丫双向绑定 ╮(╯▽╰)╭。...另一个我无法吐槽好东西是:内建表单控制器,它为 input 字段提供了默认格式化、解析和校验,而且还提供了一个很好插件用来展示错误信息。...另一方面,Angular 专注于设计简单双向数据绑定,当你改变 controller scope 中内容,变化将会被自动地同步UI(效果如同魔法般)。

1.4K30

【译】.NET Core 3.0 Preview 3中关于ASP.NET Core更新内容

尽可能使用EventCallback,因为它是强类型并且可以向组件用户提供更好反馈。当没有传递给回调函数时,也使用EventCallback。...,并运行它,你将获得一个基本表单,该表单字段更改和表单提交时自动进行字段输入验证。...EditForm将EditContext设置为一个级联相关,该用于跟踪关于编辑过程数据(例如,已修改内容、当前验证消息等)。...其中一些具有有用分析逻辑(例如,InputDate和InputNumber将不可解析注册为验证错误,这样可以优雅地处理它们)。相关字段还支持目标字段可空性(例如,int?)。...Angular模块所构建身份验证和授权支持,可以导入应用程序中,并提供一套组件和服务来增强主应用程序模块功能。

22.6K10

通过 Request 对象实例获取用户请求数据

*' ]; 然后我们 Postman 中模拟发起对 /form 路由请求,同时 URL 和请求表单中传入请求数据: ?...获取指定请求字段 上面我们已经给出了获取指定字段一个方法 get,该方法只能获取通过 GET 请求传递参数,同理,如果是 POST 请求的话,我们可以通过 post 方法获取对应字段,此次之外...'); 获取数组输入字段 有的时候,我们表单传递给后端可能是一个数组,比如一些复选框选中项,这些表单输入框 name 通常是 name[],如 books[],这个时候传递后端 books...获取 JSON 输入字段 随着基于 JavaScript 单页面应用(SPA)应用流行,除了传统表单请求提交 POST/GET 数据之外,JSON 格式请求数据也越来越常见,Laravel 支持对...注入参数后面): public function form(Request $request, $id) { // ... } 这样,我们就可以控制器方法中使用这个 id 参数了,它会随着路由参数值传递过来

19.7K30

Angular 2.x折腾记 :(2)初步认识angular2,不一样开发模式

,ng2开发模式就是类似一个树,从根节点无限发散 import { NgModule } from '@angular/core'; // 表单模块,比如你要在组件内用到一些表单元素或者数据绑定...}) export class AppModule { } ``` 常见模板指令用法解释 {{item | SliceStr:1:2:'...' }}: 可以响应组件内对应item字段变化...[(target)]: 双向数据绑定,视图和数据源同步改动,一般用于表单比较多。 绑定赋值条件表达式特殊之处: 不支持: 赋值 (=, +=, -=, ...)...true : false ) 直接赋值运算(item = 2); 变量传递保护运算符(?.) item?.a?....总结 这一篇没有涉及路由这些和表单这些; 准备拆成两个文章来说; 路由配置及懒加载这些, 模板驱动表单及响应式表单[嵌套表单响应等],回车键触发搜索等。。

8410

Laravel 表单方法伪造与 CSRF 攻击防护

Laravel 处理提交表单请求时,会将字段作为请求方式匹配对应路由。...2、CSRF 保护 开始之前让我们来实现上述表单访问伪造完整示例,为简单起见,我们路由闭包中实现所有业务代码: Route::get('task/{id}/delete', function ($...我们上面的示例中,请求方式是 DELETE,但是并没有传递 _token 字段,所以会出现异常。... Laravel 中,和表单方法伪造一样,支持通过 HTML 表单隐藏字段传递这个: Route::get('task/{id}/delete', function ($id) { return...>" id="csrf-token"> 然后我们 JavaScript 脚本中将这个 Token 放到一个全局请求头设置中,以便每个 HTTP 请求都会带上这个头信息,避免每次发起请求都要添加这个字段

8.6K40

Angular 2 + 折腾记 :(2)初步认识angular2,不一样开发模式

,ng2开发模式就是类似一个树,从根节点无限发散 import { NgModule } from '@angular/core'; // 表单模块,比如你要在组件内用到一些表单元素或者数据绑定...}) export class AppModule { }复制代码 ---- 常见模板指令用法解释 {{item | SliceStr:1:2:'...' }}: 可以响应组件内对应item字段变化...true : false ) 直接赋值运算(item = 2); 变量传递保护运算符(?.) item?.a?....b : 会判断item是否有a这个,防止undefined或者null让视图渲染报错 ---- 最最最常用内置指令 样式绑定(ngClass) [ngClass]或者[ngStyle]:可以传递一个对象...---- 总结 这一篇没有涉及路由这些和表单这些; 准备拆成两个文章来说; 路由配置及懒加载这些, 模板驱动表单及响应式表单[嵌套表单响应等],回车键触发搜索等。。

6.2K20

angular面试题及答案_angular面试

父子组件之间数据传递 @Input 父组件向子组件传递数据传递方法(子组件中使用) @output 子组件传给父组件 (事件传递方式)(子组件中使用) //子组件中使用事件发射器 @output...当我们想路由一个组件时候使用router.navigate this.router.navigate(['./component name']) 8....传统web技术中,客户端请求一个web页面(HTML/JSP/asp),服务器返回资源(或HTML页面),客户端再次请求另一个页面,服务器用另一个资源响应。...最小化组件类代码 不易于单元测试 Reactive Forms (响应式表单) 特点 比较灵活 适用于复杂场景 简化了HTML模板代码,把验证逻辑抽离组件类中...方便跟踪表单控件变化 易于单元测试 33.

10.7K120

AngularDart 4.0 高级-路由概述 顶

这是路由器页面的DRAFT,它仍在积极更新。 大部分内容都是准确,但样本仍在改进和增强。 欢迎反馈。 当用户执行应用程序任务时,Angular路由器支持从一个视图导航下一个视图。...它可以将浏览器URL解释为导航客户端生成视图指令。它可以将可选参数传递给支持视图组件,以帮助确定要呈现具体内容。您可以将路由器绑定页面上链接,并在用户单击链接时导航适当应用程序视图。...引导您应用时注册适当路由器提供商。 确保每个路由组件都具有列出组件使用路由器指令数据。 有关详细信息,请参阅声明路由器提供程序和指令。...如上所示,您可以AppComponent@Component注解中将该样式与模板一起定义。 概要 该应用程序具有配置路由。 外壳组件有一个RouterOutlet,它可以显示路由产生视图。...它具有RouterLink,用户可以通过路由点击进行导航。 以下是关键路由术语及其含义: 路由器组成部分 涵义 Router 显示活动URL应用程序组件。 管理从一个组件下一个组件导航。

6K20

Angular 从入坑挖坑 - Router 路由使用入门指北

一、Overview Angular 入坑记录笔记第五篇,因为一直加班缘故拖了有一个多月,主要是介绍 Angular 中如何配置路由,完成重定向以及参数传递。...Angular 从入坑弃坑 - Angular 使用入门 Angular 从入坑挖坑 - 组件食用指南 Angular 从入坑挖坑 - 表单控件概览 Angular 从入坑挖坑 - HTTP...4.2、路由参数传递 进行路由跳转时,很常见一种使用情况是我们需要将某些数据作为参数传递下一个页面中,例如从列表中选择点击某一行数据,跳转到对应详情页面 常见参数传递有如下两种方式 4.2.1...、query 查询参数传递 最常见一种参数传递方式,需要跳转路由地址后面加上参数和对应跳转后页面通过获取参数 key 从而获取到对应参数值 <a href="www.yoursite.com...4.2.2、动态<em>路由</em><em>传递</em> 与使用查询参数不同,使用动态<em>路由</em>进行参数传<em>值</em>时,需要我们<em>在</em>定义<em>路由</em>时就提供参数<em>的</em>占位符信息,例如在下面定义<em>路由</em><em>的</em>代码里,对于组件所需<em>的</em>参数 newsId,我们需要在定义<em>路由</em>时就指明

4.1K50

JavaScript框架比较:AngularJS vs ReactJS vs EmberJS

Angularjs优缺点 优点: 创建自定义文档对象模型(DOM)元素。 简单UI设计和更改。 HTML文档中创建输入字段时,将为每个已渲染字段创建单独数据绑定。...Angular倾向于重新渲染之前检查页面上每个单个绑定字段任何变化。 依赖注入。 简单路由。 易于测试代码。 此框架利于HTML语法扩展,并通过指令创建可重用组件。...Angular 2功能与上述不同。Angular 2不是从Angular 1重新设计,它被完全重写了。两个版本框架之间巨大变化开发人员之间引起了相当大争议。...你必须在模型上使用特定setter方法来更新绑定UIHandlebars渲染页面的时候。...其他绑定选项包括一个可能性以让你ModelView和甚至另一个Model之间用一种要么单向要么双向绑定模式。 可重复使用组件 Angular组件称为“指令”,它们比Ember组件强大得多。

12.6K60

路由协议——RIP、OSPF协议

从一路由非直接连接网络距离定义为所经过路由器数加 1。...当R1更新计时器超时后,R1又向R2发送自己路由信息,R2用从R1路由表内学习路由信息将自己网1路由信息进行覆盖,此时R2网1路由信息中,距离字段被改为3。...路由毒化用于发往其它路由路由更新中将路由标记为不可达。标记“不可达”方法是将度量设置为最大。对于 RIP,毒化路由度量为 16。...当验证类型(Autype)为 0 时未作定义,Autype为1 时此字段为密码信息,Autype类型为 2 时此字段包括Key ID、MD5 验证数据长度和序列号信息。...(2)O E1:O E1 路由 OSPF 路由器上 Metric包含该路由进入 OSPF 域之前 Metric ,再加上 OSPF 域内传递 Metric

3.4K20

【BGP】面试及项目排错中必不可少知识点

当然也可以通过配置一命令:compare-different-as-med使设备即使从不同AS收到相同路由时,也会比较MED; 问题4:BGP比较哪一就可以实现负载分担?...IBGP过来路由本AS内传递了之后才传递给本台路由,(经过域内其他 设备) EBGP邻居传来路由是离目的网络更近路径, 而就是说,这样设计,可以在一定程度上防止次优路径 问题6:为什么负载均衡要求...保证数据传递时候经过AS相同,如果负载经过AS不同,不同AS内路径开销以及经过设备数量不同,可能会导致次优路径; BGP路径属性不代表链路开销及带宽情况(以及延迟和抖动); ?...,所以只会传递最优路由给R5。...根据BGP选路规则,比较第八,metric(不关心路由协议优先级)。 因此R1去往10.1.4.4/32时,下一跳为R3。

1.3K20

一个Angular 5教程:一步一步指导实现你第一个Angular 5应用程序

另一件要提到事情是Angular CLI和它Webpack负责编译TSJS,所以你不应该让IDE为你编译它。...但在基本层面上,请考虑如下这些方法:创建组件之后立即调用构造函数,传递给它数据准备好并填充之前很久才调用该构造函数,而ngOnInit仅在第一个更改周期数据,因此您可以访问组件输入。...发生变化时,它都会传递给我们组件输入。...使用本地事件 所以我们有我们变量填充,但我们仍然需要将该发送到AppComponent中的卡列表。为了将数据传递Angular组件,我们必须有输入。...通过使用它,我们确保我们数据流一旦发生this.alive错误就会停止发布新,并且我们只需该onDestroy组件函数中设置该

42.3K10

计算机网络层次划分及协议了解

1.3 网络层 因特网网络层负责将称为数据网络层分组从一台主机移动到另一台主机。一台源主机中因特网传输层协议 (TCP 或者 UDP) 向网络层递交传输层报文段和目的地址。...网络层包括著名 IP 协议,该协议定义了在数据报中各个字段以及端系统和路由器如果作用于这些字段。网络层也包括决定路由路由选择协议,它使得数据报根据该路由从源传输到目的地。...1.4 链路层 网络层通过源和目的地之间一系列路由路由数据报,为了将分组从一个结点移动到路径下一个结点,网络层必须依靠链路层服务。...物理层协议是和链路相关,并且进一步与该链路实际传输媒体相关。比如,以太网具有许多物理层协议:一个是关于双绞铜线另一个是关于同轴电缆,还有是关于光纤等等。 2....封装 上图显示了这样一物理路径:数据从发送端系统协议栈向下,经过链路层交换机和路由协议栈,进而向上到达接收端系统协议栈。

48920

【AngularJS】 # AngularJS入门

ng-model 指令把元素(比如输入域)绑定应用程序。 ng-bind 指令把应用程序数据绑定 HTML 视图。...HTML 元素提供 CSS 类 绑定 HTML 元素 HTML 表单 将输入域($scope)与 AngularJS 创建变量绑定 <div ng-app="myApp" ng-controller...表单实例 novalidate 属性是 HTML5 中新增。禁用了使用浏览器默认验证。...$dirty 表单有填写记录 $valid 字段内容合法 $invalid 字段内容是非法 $pristine 表单没有填写记录 基本表单验证实例,novalidate 用于禁用浏览器默认验证...AngularJS 路由通过 #! + 标记 区分不同逻辑页面并将不同页面绑定对应控制器上。 创建了两个 URL: /first 和 /second。每个 URL 都有对应视图和控制器。

23K60

前端面试知识点

闭包 一个可以访问另一个函数中变量函数。当一个函数返回是另外一个函数,而返回那个函数如果调用了其父函数内部变量,且返回这个函数在外部被执行就产生了闭包。...js垃圾回收机制 标记清除 引用计数 浏览器缓存机制 Header 内字段用于控制缓存机制 老方法 Expires,记录绝对 新方法 Cache-Control 多了一堆选项,记录时间是相对...https://segmentfault.com/a/1190000016344599 vue双向绑定原理 已经了解vue是通过数据劫持方式来做数据绑定,其中最核心方法便是通过Object.defineProperty...: 1、实现一个数据监听器Observer,能够对数据对象所有属性进行监听,如有变动可拿到最新并通知订阅者 2、实现一个指令解析器Compile,对每个元素节点指令进行扫描和解析,根据指令模板替换数据...组件 服务 管道 什么是依赖注入 如何使用路由 参数快照 参数订阅 响应式编程 angular模板式表单和响应式表单 如何做表单验证 angular-cli使用方式 如何创建组件 创建服务 创建类

1.6K10

angular入门教程_初学者织围巾简单教程慢动作

课程介绍 本课程是一个系列基础教程,目标是带领读者上手实战,课程以新版本 Angular 3 个核心概念作为主线:组件、路由、模块,加上业务开发过程中必须用到特性:工具、指令、表单、RxJS、...因为你迟早会发现,计算机领域,任何东西研究最底层都和“算法”、“数据结构”、“设计模式”有关。而就我所知,很多朋友并不具备研究这些内容基础知识,不过是白白浪费自己时间而已。...-4 路由守卫 5-5 多重出口 6-1 表单快速上手 6-2 双向数据绑定 6-3 表单校验 6-4 模型驱动型表单 6-5 动态表单 7 服务 8 RxJS 快速上手教程 9 国际化 10 自动化测试...以上就是为什么大多数模板引擎都要强调“轻逻辑”最根本原因。 对于 Angular 来说,强调“轻逻辑”还有另一个原因:组件整个生命周期里面,模板函数会被执行很多次。...课:路由:基本用法 第5-3课:路由:模块预加载 第5-4课: 路由路由守卫 第5-5课:路由:多重出口 第6-1课:表单:快速上手 第6-2课: 表单:双向数据绑定 第6-3课:表单表单校验

3.3K20

Vue路由详解(路由基础,路由轮播,路由传参,通配符路由)

Vue路由基础知识点: 1.router-view: 类似angular插座,用于承载路由切换组件 2.router-link: 类似angularrouterLink,区别是:vuerouter-link...5.route: 类似angularActiveRoute,用来获取路由传参 组件创建和切换: a.组件里写router-link标签,绑定to属性,to属性是一个对象,path属性里是当前组件路由路径...路由传参 1.通过query查询参数传参 内容组件接收头组件传来参数--query方式传递参数存储router对象里,使用this.$route方式获取该对象 MyHeader组件: <!...根据params路径参数传参 -- 需要配置路由 vue里params传只能用name不能用path -- params方式传递参数存储router对象里,使用this....$route方式获取该对象 传递以路径形式拼接在网址后面.

3K21

Angular 17 有什么新功能?

angular.dev Angular 团队最近一直进行沟通, 通过现场活动来展示 Angular v17 新功能, 以及一个名为 angular.dev 新网站, 这将是未来官方网站。...可延迟视图 另一个重要功能是引入了模板中使用可延迟视图。...,则需要,例如,使用第三方库初始化图表) MixedReadWrite(默认,但应尽可能避免使用更具体阶段) Read(如果您只需要阅读 DOM,则推荐使用) 我认为大多数情况下,我们应该能够使用...Angular v17 路由器中添加了对此 API 支持。...bootstrapApplication(AppComponent, { providers: [{ provideRouter(routes, withTransitionViews()) }] }); 默认情况下,从一路由导航另一路由

46030

网络工程师从入门精通-通俗易懂系列 | 搞定RIP路由协议+默认路由

RIP路由协议 · 定期更新 · 依据传闻更新,逐跳更新 (人家说什么信什么) · 广播或组播更新整张路由表 · 完全收敛之前,路由器无法正常工作 · 以跳数计算度量值,度量值逐跳增加 · 并不了解网络拓扑...· 水平分割(split horizon) 从一个接口学习路由不会再从该接口更新出去,cisco可以对每个接口关闭水平分割功能 · 路由中毒(route posion) 用于发往其它路由路由更新中将路由标记为不可达...· 汇总路由度量值,以明细路由中最小metric作为汇总路由度量值 ? ? 默认路由 ? 假设R3是公网,那么R2,R1身上用户访问公网,都需要默认路由。...有没有一种办法,让默认路由自动传递,而不需要每台路由器上都去写默认路由。 方法1:写一出接口形式默认路由 R2: ip route 0.0.0.0 0.0.0.0 F1/0 必须是出接口 !...router rip network 0.0.0.0 距离矢量路由协议中,所有以出接口形式存在默认路由,都能够被通告,因为看路由条目 方法2:RIP协议下发 R2: ip route 0.0.0.0

77540
领券