part-bid竞价活动是我们学习开始阶段的一个练习,我们从练习的过程中,理解web开发的精髓,巩固基础知识。
part-bid分为四个部分,即四张卡片,本文将记述第一张卡片的学习过程。
第一张卡片要创建三个页面:创建活动页面,活动列表页面,活动报名页面。
要求:
一.不存在已创建活动情况下:
1.在打开程序后判断一下,是否已经存在已创建的活动,如果没有,就要显示“创建活动”页面,引导用户去创建一个活动.
2.无已创建活动情况下,进入”创建活动“页面,”返回“按钮不显示
二.存在已创建活动情况下
1.打开程序后直接进入"活动列表"页面,列表显示为已创建活动
2.“活动列表”页面按照时间顺序由新到旧排列活动,最后创建的活动显示在列表的最前
3.点击”活动列表”页面的“创建活动”按钮,进入”创建活动”页面,页面内输入框内容为空
4.在”创建活动“页面,显示”返回“按钮
5.在“创建活动”页面,点击“返回”按钮,返回到“活动列表”页面
三.创建活动
1.在“创建活动”页面,当输入框内信息为空时,“创建”按钮为灰色的不可点击状态
2.在“创建活动”页面,点击“活动名称”下的输入框,弹出文字输入工具
3.创建的活动名称不能重复,如果名称重复,点击【创建】按钮,文本框下红字提示:“*活动名称重复”。页面不跳转
4.在“创建活动”页面,正确输入活动名称后,点击“创建”按钮活动创建成功,页面跳转到“活动报名”页面
5.在”活动报名“页面,点击“返回“按钮,跳转到”活动列表“页面,列表中显示已创建的活动
首先,我们用yeoman创建工程,建一个专门保存自己工程的文件夹,然后在终端中输入:
mkdir my-project cd my-project yo webapp npm install -g generator-angular yo angular
这样,该有的配置就搭建好了,打开RubyMine,就可以编写我们的程序了。
首先,我们要理解什么是MVC框架,M:model,后台方法的集合,负责后台数据的处理,表示应用中的整个数据模型。V:views,前端,为用户提供可视化的界面,在浏览器中加载和渲染,并且可以在AngularJS中根据模板、控制器、模型信息修改。C :controllers,控制器是一个Javascript函数(类型/类),用来增强除了根作用域以外的作用域实例,负责后台与前端的交互,为前端提供后台接口,当用户操作前端时,controller负责处理用户的操作,通过Model下的方法实现相应功能。
在HTML中,常常引用到CSS,CSS是一种增强渲染,美化界面的模版。我们可以直接引用网上下载下来的CSS库,也可以自己编写。在index.html中链接CSS:
<script src="../bootstrap.js"></script>
然后引用CSS:
<link rel="stylesheet" href="../bootstrap.css" />
第一张页面做好之后,可以查看一下效果,在项目文件夹中,用终端输入:
grunt serve
这时候,浏览器会打开我们的项目,我们可以看到我们做的界面样式,以后加入功能也可以用这个方法调试。按照项目的要求做完HTML页面后,就可以添加相应的功能了,想要在页面中实现我们要的功能,我们还要了解什么是路由:AngularJS路由将不同的URL和与之相匹配的模块联系起来,比如,当我有一个URL是"localhost:9000/create_activity",配置完成之后,当我们访问/activity_list的时候,路由就帮我导向到/create_activity匹配的页面。在配置路由时我们不用考虑"localhost:9000"域名和端口部分,只需要将/create_activity和要与之匹配的模块建立联系。在route.js文件中写入:
.when('/create_activity', { templateUrl:"./view/create_activity.html"; //将/create_activity与view文件夹下的create_activity.html页面关联起来 controller:'CreateActivityCtrl'; //定义控制器 })
接着我们在任意控制器里面写入:
$location.path('/create_activity');
都可以跳转到create_activity.html这个文件被浏览器渲染后的页面,当然,一般情况下,我们要操作一个动作之后,才去实现页面的跳转,例如点击“返回”按钮,当我们建立一个<button>标签后,给<button>添加一个ng-click=""属性,在“”内写一个函数,用来实现跳转,例如<button ng-click="GotoCreateActivity">,
在控制器中添加代码:
$scope.GotoCreateActivity = function () { $location.path('/create_activity'); }
这样,我们点击这个<button>后,就能跳转到create_activity页面了。顺便写两个其他的属性:<button ng-show="true" ng-disabled="false">,ng-show="true"就是显示这个按钮,如果是""内是false,则隐藏;ng-disabled=“true”的意思是此按钮不可点击,false就是可点击。
其实页面与页面都有联系,而这些联系主要依赖于对数据的操作。所以就不得不说到url传参和localStorage数据存储。url传参用$routeParams实现。例如:要在price_result.html页面将"show"传到price_statistics.html页面。在控制器price_result.js实现跳转时,这样写:
$location.path('/price_statistics/'+show);
.controller('PriceStatisticsCtrl', function ($scope, $location,$routeParams $scope.show_hide=$routeParams.show_hide; )
而对数据的存储需要用到localStorage,主要是对localSrorage的增删查改,其中:
var getKey = localStorage.getItem(key) //表示得到localStorage中的数据 var parseKey = JSON.parse(localStorage.getItem(key)) //将localStorage中的数据转化成数组或字符串 localStorage[key] = JSON.stringify(name); //将name转化成localStorage的形式 name.unshift(value); //将value的值放在name数组的最开头; name.push(value); //将value的值放在name数组的末尾
{{表达式}}。
在create_activity.html页面写入:
{{tip}} //页面在浏览器中就会显示出 活动名称重复!
<li ng-repeat="list in lists"> {{list}} </li>
相关推荐
bid0-lid0-steam游戏管家_steambdth01_1.0.0.1487@1prw2r@gog.exe
bid0-lid64-steam.game_steamzc9_2.0.0.2702.exe.file
在IT行业中,"2-bid:由KPXSoft进行2次竞标"的标题可能指的是一个项目或系统,其中KPXSoft是一个参与了两次投标过程的软件开发公司。这个项目可能涉及开发一个平台或者工具,用于处理拍卖或竞标流程,特别是强调了“2...
一种基于即插即用方法的适应类盲图像去模糊方法。 %================================================= ===================% [1]和[2]中的适用于类的BID方法的MATLAB DEMO。 该方法基于即插即用(PnP)框架。 ...
bid0-lid64-steam.game_steamzc_2.0.0.2242.exe
在本资源中,我们主要关注的是“iOS 7 开发入门”教程的第 8 章,内容涉及如何在 iOS 应用中使用 `SearchBar`,并且这个章节已经更新以适应 iOS 8 的开发环境。`SearchBar` 是 iOS 开发中一个重要的组件,它允许用户...
【标题】"Bid Documents - Toyota Hilux Fx_pdf_" 暗示了这是一个与丰田Hilux FX车型相关的招标文件,格式为PDF。在IT领域,PDF(Portable Document Format)是一种广泛使用的文档格式,用于保存内容,确保在不同...
【广告自动调价算法介绍1】 广告自动调价算法的核心目标是通过智能调整广告出价(Bid)以实现最大化的收益(Revenue)并控制成本(Cost)。在这个过程中,业务员通常只能调整Bid、Budget和Weight这三个参数。由于...
语言:English (United States) 开始赢得quibids&deaoldash!...”BID-Ninja软件有三个核心组件1 - BID-NINJA分析:如上所述,提供有关竞争对手的全面了解您的竞争对手和您试图获胜的拍卖。2 - BID-NINJABi
在Verilog中实现CRC-16 CCITT,通常会创建一个状态机来控制整个计算流程,并使用组合逻辑电路来实现模2除法的过程。Verilog代码会包括输入数据的寄存器、状态寄存器、以及用于存储生成多项式和当前CRC值的寄存器。...
bid格式招投标文件阅读器,可以打开浏览、管理电子招标文件,如果打不开标书文件,请按下面步骤检查:1、请查看招标文件(.bid文件)是否下载完全,请用IE下载工具下载;2、查看IE浏览器版本,如果版本低于IE8,低于IE...
这个软件在这里只是作为我写过的代码的展示(前一段时间)。 它通常不会完成其任务。 基本上没有文档,除了控制台程序使用信息(如果不带参数执行, bin/ 中的任何程序都将输出使用信息)。 我没有检查该软件是否...
Create React App入门 该项目是通过引导的。 可用脚本 在项目目录中,可以运行: yarn start 在开发模式下运行应用程序。 打开在浏览器中查看它。 如果您进行编辑,则页面将重新加载。 您还将在控制台中看到任何...
foreign key (bid) references boats(bid) on delete cascade); insert into sailors(sid,sname,rating,age) values("22","dustin",7,45) ("29","brustus",1,33), ("31","lubber",8,56), ("32","andy",8,26), ("58...
量子密封拍卖是基于量子力学原理的一种多参与方安全竞标协议。它利用量子纠缠和量子密钥分发等量子通信技术,以实现竞标过程的保密性和公正性。EPR对(爱因斯坦-波多尔斯基-罗森对)是量子纠缠粒子的一种,常用于...
带有相应Google表格模板的Google脚本,可以按一周中的某天+小时在AdWords中优化您的出价。 该脚本基于BrainLabsDigital.com上的Daniel Gilbert @ danielgilbert44的出色工作( ) 此剧本在第2集的Envoy的Digital ...
例如,在解答第一大题的第二个小题时,若包含三个截图,则可分别命名为“1-2-1”、“1-2-2”、“1-2-3”,以此类推。 ### 二、Java 语言进行 HBase 应用开发 #### 创建HBase表 使用Java语言开发HBase应用程序时,...
标题中的“Bid Documents - Service Pick-up_OntheUp_tantakpins_”暗示这是一份关于服务接洽的投标文档,其中可能包含了与"OntheUp"和"tantakpins"两个关键词相关的服务流程或项目信息。"OntheUp"可能是项目、服务...
数据格式 uid_score_bid 如 dingdanglbh,4.0 ,25862578 Luna-cat,5.0 ,25862578 aiyung,5.0 ,25862578