位置: 编程技术 - 正文

使用AngularJS实现表单向导的方法(angular.js)

编辑:rootadmin

推荐整理分享使用AngularJS实现表单向导的方法(angular.js),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:angularjs $q,angularjs4,angular keyup,angular keyup,angularjs4,angularjs4,angularjs4,angular jsx,内容如对您有帮助,希望把文章链接给更多的朋友!

今天我们将使用AngularJs和伟大的UI Router以及Angular ngAnimate module创建一个带动画的多步表单。这项技术可以用在你想要简化用户操作的大表单上。

我们看到这项技术已经应用在了许多的网页上。比如购物车,注册表单,入职流程以及许多多步表单,让用户更容易在线填写表单。

下面我们将构建它:

使用UI Router,它能内嵌状态,为每个状态显示不同的view,我们能让多步表单变得相当的容易。

让我们言归正传,开始创建我们的最棒的表单!

创建工程

创建工程有个模板结构. 需要个 布局文件 , 每个表单的视图文件, 格式文件, 以及JavaScript 文件.

下面就是文件清单,先创建好它们,接着在填充内容

- index.html - form.html - form-profile.html - form-interests.html - form-payment.html - app.js - style.css

每个表单-____.html表示层级结构中的html文件. 这些结构最终创建我们的表单结构.

我们的布局/模板文件 index.html

我们通过建立一个主文件来引入我们所需要的所有资源以开始我们的项目 ,这里我们使用 index.html 文件作为主文件

现在,我们加载我们所需的资源(AngularJS, ngAnimate, Ui Router, 以及其他脚本和样式表)并且设定一个 ui-view用来告知 UI Router 我们的视图需要显示到哪里。这里我们使用 Bootstrap 来快速应用样式。

完成所有文件的引入后,让我们进入 app.js 开始创建Angular应用和最基本的路由配置。 注意我们是如何把Angular App (formApp) 应用到 body 上面的。 创建我们的Angular App app.js

现在我们来创建应用和路由。 在一个大型应用中, 你肯定希望把你的Angular应用、路由、控制器分布到它们各自的模块中,但是为了完成我们的简单用例,我们将把它们都放到app.js这个欢乐的大家庭中。

现在我们拥有了一个已经注入了ngAnimate和ui.router的应用。 我们同样也建立了相应的路由。注意我们是如何为每一个视图区域定义 url,视图文件(templateUrl) 和 控制器的。

form 将是我们的主视图区域。它同样有一个以 . 分割的子视图区域 form.profile。这种想法能实现在应用状态发生变化时(译者:可能是路由、queryString等),子视图将会在主视图区域中显示出来。(译者:而且可以作到仅更新子视图区域变化,记录子视图区域状态)。

我们将在下一节中进行演示。 现在我们需要为form以及它的子视图区域创建视图。 表单模板视图 form.html

让我们从新建form.html开始。这个文件将会在我们剩下的表单视图文件中充当模板的作用,正如index.html被用作整个项目的总体模板一样。我们所要作的是在该文件中包含ui-view,这样可以使嵌套声明知道该在何处注入他们的视图。

注意我们是如何第二次在项目中使用ui-view的。这就是UI Router伟大的地方:我们可以嵌套声明和视图。这能够在我们开发应用时提供给我们非常多的灵活性。关于UI Router视图的内容,请参见官方文档。

添加基于状态的激活类

使用AngularJS实现表单向导的方法(angular.js)

我们希望每一个状态按钮能够在他们被激活时展示。为了达到这个效果,我们将会使用UI Router提供的ui-sref-active。如果ui-sref和当前状态一致,则会添加我们指定的类。

现在,你可能想知道我们的表单究竟看起来是什么样子。让我们打开浏览器看一眼。

目前为止,我们并没有完全按照希望的那样得到所有的内容,但是这是一系列伟大事情的开端。让我们继续前进,添加一点样式,之后会添加一些嵌入视图和注释。

基础Stylingstyle.css

我们将设计我们的form-container和status-buttons来是我们的表单看起来更好。

现在我们的按钮更好看了并且更符合我们想要的了,接下来我们看下嵌套视图。嵌套视图form-profile.html, form-interests.html, form-payment.html

这部分会比较简单。我们将定义不同的带有我们需要的输入框的视图。并且将他们绑定到formData对象以便我们能看到输入的数据。

下面是我们用于嵌套视图的视图文件:表单概要视图

表单兴趣视图

表单支付视图

既然我们已经定义了这些视图,那么当我们浏览表单时,他们就会显示出来。同样我们用下一个按钮和ui-sref来连接每一个新视图.

当使用ui-sref时,你要连接到你路由中定义的state而不是URL。然后Angular会使用这个来为你构建href。

下面是我们表单目前的每一个页面。

为了让我们的页面不同寻常,让我们加上动画效果。 让我们的表单产生动画效果

因为在项目开始的时候,我们已经加载了ngAnimate,它已经添加到需要动画的的类上了。当视图进入或退出的时候,它将自动添加类ng-enter和ng-leave。

现在我们所有做的就是通过样式形成我们最终的表单。为了理解Angular动画,这篇文章是一个很好的起点。

让我们进去css文件,将动画,并应用到我们的表单上

首先,确定视图离开或进去时,表单的样式,他们是绝对定位的。需要确认当视图进入的时候一个视图不会放到另一个视图的下面。

其次,应用我们的动画到.ng-enter和.ng-leave类

第三,用@keyframes定义动画。所有这些部分组合到一起,我们的表单就有了Angular动画,基于状态的UI Router和Angular数据绑定。

举例详解AngularJS中ngShow和ngHide的使用方法 今天我们来看看怎样使用Angular的ngShow和ngHide指令来完成它们听起来应该完成的,显示和隐藏!它们应该做的事ngShow和ngHide允许我们显示或隐藏不同的元

使用AngularJS实现可伸缩的页面切换的方法 AngularJS1.2通过引入基于纯CSSclass的切换和动画,在一个单页面应用创建页面到页面的切换变得更加的容易。只需要使用一个ng-view,让我们来看一下,一

使用AngularJS创建单页应用的编程指引 概述单页应用现在越来越受欢迎。模拟单页应用程序行为的网站都能提供手机/平板电脑应用程序的感觉。Angular可以帮助我们轻松创建此类应用简单应用

标签: angular.js

本文链接地址:https://www.jiuchutong.com/biancheng/380443.html 转载请保留说明!

上一篇:测试IE浏览器对JavaScript的AngularJS的兼容性(浏览器app测试要点)

下一篇:举例详解AngularJS中ngShow和ngHide的使用方法(举例详解民法典第994条)

  • 房租租赁房产税由哪方缴纳
  • 1号没有抄税可以补税吗
  • 固定资产报废属于非常损失吗
  • 冲销以前年度营业外支出
  • 银行对账单用英语怎么说
  • 承兑汇票给别人时对方需要出具什么
  • 足球俱乐部买卖球员的程序
  • 股东无偿借款给公司需要交税吗
  • 可供出售权益工具投资是非货币
  • 签订合同未履行属于什么行为
  • 电子承兑银行承兑
  • 进口内销是什么意思
  • 季度交的企业所得税怎么做账
  • 契税的发票开错了还可以作废吗?
  • 软件开发票入研发费用哪个明细科目?
  • 增值税专用发票可以开电子发票吗
  • 营改增后水费差额征税账务处理怎么做?
  • 国税2017年16号文
  • 房地产未售商品房已办房产证要交房产税么
  • 政府收购企业资产规定
  • 税控机抵扣网上申报如何做?
  • 补发工资如何缴纳工人所得税的法条
  • 取得的国债利息收入可以抵扣吗
  • 企业开增值税普通发票 电子版
  • 小规模税收减免
  • 核定征收的小规模企业优惠
  • linux虚拟机在哪里输入命令
  • win10桌面窗口管理器gpu占用高
  • 询证函是什么文书
  • 公司购买的车辆购置税怎么入账
  • 修改php.ini
  • 当月发生的费用下月支付
  • linux系统中查看磁盘空间情况命令
  • 利息股息红利个人所得税税率
  • linux init3
  • php常用语句
  • 企业所得税年报截止日期2023
  • 资产负债表和利润表的利润不一致
  • 一般纳税人企业所得税多久申报一次
  • 没有发票的支出可以扣除企业所得税么
  • 企业所得税申报表在哪里打印
  • 发票抵扣联和发票联区别
  • 织梦怎么样
  • 增值税专用发票上注明的价款含税吗
  • 企业的主要经营指标有哪些
  • 事故赔偿给谁
  • 小额收据报销
  • 制造业企业无形资产怎么摊销
  • 核算产品的成本的表
  • 小规模印花税有减免政策吗
  • 手撕发票是
  • 高铁行程信息提示可以乘车吗
  • 小规模纳税人预交增值税率
  • 应收票据贷方余额
  • 长期股权投资是什么类的科目
  • 删除mysql数据库命令
  • sql null用法
  • centos6.10安装教程
  • freebsd ifconfig
  • 在windows 7
  • 最近一段时间勒索病毒在全球集中爆发
  • win10装360安全卫士
  • win7小键盘怎么调出
  • NJeeves.exe - NJeeves进程文件是什么意思 有什么用
  • win10如何移动应用程序
  • win10预览版和正式版区别
  • Windows下的C语言编译器
  • cocos2d怎么用
  • 3d引擎开发
  • Unity3D游戏开发标准教程
  • 如何理解闭包,闭包的优缺点
  • nodejs实战教程
  • python多线程怎么用
  • 全面解析李可破格救心汤
  • 安卓 存储权限 访问的地方是哪里
  • 最新印花税税目表2022
  • 防伪税控维护费普通发票怎么申报
  • 浙江宁波江北区都有哪些大学?
  • 代理记账广告语怎么写
  • 苏宁易购股份转增股本
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设