`
momo.
  • 浏览: 5054 次
  • 性别: Icon_minigender_2
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
阅读更多

第一张卡完成以后大致知道了使用party_bid的流程,haml编写页面,js控制后台,css引入样式。由于处理信息那部分不太懂,所以先做活动报名页面开始按钮的变化部分,在这一块遇到的问题是:

一开始我在js里给start_button设置了初值

 $scope.start_end="start"(按钮为“开始”)
 $scope.button_disable=false(可点状态)

 补充一下,start_button 我用ng-switch来实现功能的

.header-right(ng-switch="start_end")
   %button.btn.btn-4(ng-tap ='start_sign_up()' ng-switch-when='start'ng-disabled="button_disable")开始
   %button.btn.btn-4(ng-tap ='end_sign_up()' ng-switch-when='end' ng-disabled="button_disable")结束

 所以,通过if语句判断条件来显示“开始”按钮可点,“开始”按钮不可点,“结束”按钮可点三种状态,

function judge_sign_up_event_name(){
        var sign_up_event_name=localStorage.sign_up_event_name(取存储在localstorage里的正在报名页面的名称)
        var list_now=localStorage.list_now(取存储在localstorage里的进入活动页面的活动名称的名称)

       if(!sign_up_event_name)(判断为空、undefined、false)
       {
            $scope.start_end="start"
            $scope.button_disable=false
            return;
        }

        if(sign_up_event_name!=list_now){
            console.log(sign_up_event_name,1)
            $scope.start_end="start"
            $scope.button_disable=true
            return;
       }
        else{

            $scope.start_end="end"
            $scope.button_disable=false
        }

    }

 因为之前用不是特别明白getItem()及setItem()的使用方法使得多次存放sign_up_event_name 为undefined的值,所以一直实现不了其功能,getItem()得到数据库中的value,但并不改变它,

var sign_up_event_name=localStorage.sign_up_event_name(取字符串)
var user_messages=JSON.parse(localStorage.getItem("user_messages"))(取数组)

setItem()当数据库中value改变后在存进库中

localStorage.setItem("user_messages",JSON.stringify(user_messages));(存数组)
localStorage.setItem("user_messages",user_messages);(存字符串)

 删除多余的setItem()后,又删去了默认的初始值(“开始”按钮可点状态)就不存在刷新页面所有的状态都还原为(“开始”按钮可点状态)。

状态解决之后是活动列表页面的正在报名的活动背景颜色为黄色问题,只是自己在index里写了个class然后引用了一下。

在处理报名信息这一部分,首先用到了正则表达式(当检索某个文本时,可以使用它来描述要检索的容),由于没有接触过,在w3c里面学习了一下

i	执行对大小写不敏感的匹配。
g	执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m	执行多行匹配。
\w	查找单词字符。
\W	查找非单词字符。
\d	查找数字。
\D	查找非数字字符。
\s	查找空白字符。
\S	查找非空白字符。
\b	匹配单词边界。
\B	匹配非单词边界。
\0	查找 NUL 字符。
\n	查找换行符。
\f	查找换页符。
\r	查找回车符。
\t	查找制表符。
\v	查找垂直制表符。
\xxx	查找以八进制数 xxx 规定的字符。
\xdd	查找以十六进制数 dd 规定的字符。
\uxxxx	查找以十六进制数 xxxx 规定的 Unicode 字符。

 而且由于在电脑上用console.log()的方法接收信息,所以事先给了一条短信,其格式是哈希,需要剥开它

找到需要的报名人姓名以及联系电话

notify_message_received({"messages":[{"create_date":"Tue Jan 15 15:28:44 格林尼治标准时间+0800 2013","message":" b m 仝键","phone":"18733171780"}]})

"messages"是一个key,后面{}包着的是它的value[{"create_date":"Tue Jan 15 15:28:44 格林尼治标准时间+0800 2013","message":" b m 仝键","phone":"18733171780"}]一个数组,

数组里有包了一个哈希{"create_date":"Tue Jan 15 15:28:44 格林尼治标准时间+0800 2013","message":" b m 仝键","phone":"18733171780"}:

create_date,message,phone是key;Tue Jan 15 15:28:44 格林尼治标准时间+0800 2013, b m 仝键,18733171780是各自的value.

 

得到有用的信息后就是把它显示到报名页面上,之前写了个很长的for循环

if(user_messages!=null&&sign_up_event_name!=list_now){
   for(i=0;i<user_messages.length;i++){
      if(user_messages[i].one_event_name==list_now){
         var this_sign_up_messages=JSON.parse(localStorage.getItem("this_sign_up_messages")) || []
         this_sign_up_messages.push(user_messages[i]);
         localStorage.setItem("this_sign_up_messages",JSON.stringify(this_sign_up_messages));
           }
  }

 后来发现特别的麻烦,而且是加载页面时就运行,每刷新一次页面的内容就多被遍历一次,所以改用_.filter

 var start_this_page_messages= _.filter(user_messages, function(user_messages)
             {return user_messages.one_event_name==list_now; });//var 名字=_.filter(数组或localstorage,function(与前面的相同){return 条件})

这是用到了 underscore 里的内容,下次用到其他的方法再继续学习。

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    三张卡牌类游戏demo

    三张卡牌类游戏demo

    基于C/C++实现NFC模拟器+源码+项目文档+资料(最多支持十张卡模拟)(毕业设计&课程设计&项目开发)

    基于C/C++实现NFC模拟器+源码+项目文档+资料(最多支持十张卡模拟),适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档~ 基于C/C++实现NFC模拟器+源码+...

    SDK2000视频卡

    2. 在安装第二张卡时,避免与第一张卡的PCI插槽相邻,以防信号干扰。 3. 安装第二张卡的驱动程序时,确保选择不同的设备ID,以免操作系统将两张卡视为同一设备。这通常可以在驱动安装过程中手动配置。 4. 更新或调整...

    PHP工程师面试笔试真题(某知名社交软件公司)--附解析.doc

    店主第一张卡赚20%,第二张卡亏20%,看起来像是盈亏平衡,但实际并非如此。设每张卡的成本为C,第一张卡售价为1.2C,第二张卡售价为0.8C。总成本是2C,总收入是1.2C+0.8C=2C,但由于成本是固定不变的,亏损部分应该...

    全志A20系统配置文档

    #### 1.6 第二张卡启动参数配置(card2_boot_para) 第二张卡启动参数配置则是为第二张存储卡(通常是备用卡)进行配置,确保当主卡无法启动时能够无缝切换至备卡启动。 #### 1.7 TWI(Two-Wire Interface)配置(twi...

    斑马英语100张闪读卡点读包小达人

    斑马英语100张闪读卡点读包小达人点读包

    stack-in-card:将多张卡分组为一张无边界的卡

    它允许将多张卡分组为一张没有边界的卡。 默认情况下,它将垂直堆叠所有内容。 选项 如果堆栈中的卡定义了--keep-background CSS样式,则不会替换背景。 例如,这对于很有用。 您还可以使用定义此CSS变量。 名称 ...

    cascades:Joe Conard为Decktet设计的单人纸牌游戏

    第二行,以及(对于王冠和可选的A,Pawns和Courts),在所有三行中都出现第一张之前,不能将第二张卡添加到第一行。版本号1.0.1 不再将游戏限制在3个回合内,再加上布局修复(2021)。1.0.0 初始版本(2016/2020)。...

    小学数学奥数测试题-排列组合-2015人教版.docx

    2. 第二题是数字排列问题,由于数字不能相邻出现,可以使用插空法,先排1,2,3形成的三个空隙中插入两个数字,有C(3,2)*2! = 6种方法。 3. 第三题涉及限制条件的分配问题,可以先考虑不受限制的情况,再排除不符合...

    基于51单片机读韦根读头-数据.doc

    BIT1: 第2—13位的偶校验位 BIT2-9: 对应与电子卡HID码的低8位 BIT10-25: 应电子卡的PID号码 BIT26: 第14-25位的奇校验位 HID号码即Hidden ID code 隐含码,PID号码即Public ID code 公开码。 PID很容易在读出...

    BlackJack-Optimizer:可以为您赢得比赛的21点优化器

    键入:[经销商卡] [您的第一张卡] [第二张卡],以便随时开始新游戏。 键入:“帮助”以获取命令 为未来: *创建一个GUI,*保存历史记录,*询问是否允许使用Double *使用Serializable只执行一次init()。 *创建...

    MTG-Toolbox:帮助改善Magic:The Gathering游戏的应用

    MTG工具箱 有助于改善Magic:The Gathering的应用程序随意重用代码,或者更好地对其进行改进,并告诉我! ... 主页 使用户可以使用8个按钮对...第二张卡的设置号 结果页面 在此,按顺序提供了指向存储在Google云端硬盘中的

    尼康D7000性能解析及使用技巧详细说明.doc

    此外,相机配备热靴和双卡槽,用户可以根据需求自定义存储格式,如第一张卡存储JPEG,第二张卡存储RAW格式,提高了拍摄灵活性。 D7000的定位在D300s和D90之间,填补了尼康产品线的空白。它的出现改变了尼康与佳能同...

    基于51单片机射频RFID卡考勤上课上班人数计数系统设计(毕业设计)

    3、液晶第二行显示刷卡人数,即出勤总人数。 4、按下按键表示上课,如果签到人数和总人数不符合,蜂鸣器报警处理。 资料包含: 程序源码 电路图 任务书 答辩技巧 开题报告 参考论文 系统框图 程序流程图 使用到的...

    JAVA纸牌程序

    #### 二、代码结构与功能分析 ##### 2.1 类与方法定义 ```java public class Test { public static void main(String[] args) { // 主程序逻辑 } } ``` - **类定义**:`public class Test` 定义了一个名为 `...

    ms2:Code Institute的第二个里程碑项目-JavaScript中的模式匹配内存游戏

    这个网站是我在Code Institute创建的第二个里程碑项目。该网站将展示到目前为止学习到的语言和工具,包括HTML5,CSS3和JavaScript。 描述 xxx 用户体验 xxx 战略 xxx 人口统计: xxx 用户故事: xxx 业务目标: ...

    第四届 蓝桥杯 竞赛试题题目 C/C++高职高专组

    这些题目来自于第四届“蓝桥杯”全国软件专业人才设计与创业大赛的C/C++高职高专组竞赛,涵盖了一系列的编程与数学问题。以下是各题目的解析: 1. **猜年龄**:根据题目描述,美国数学家维纳年龄的立方是4位数,4...

    新人教版小学五年级数学上册期末练习(共四套).pdf

    18. **选择题解答**:第二份试卷中的选择题,如小数的分类、商的性质、不等式比较等。 通过以上对试卷内容的分析,我们可以看到这些题目涵盖了小学五年级数学的主要知识点,包括基本的运算规则、方程的处理、概率的...

    樊登小读者会员体系.pdf

    2万代理是樊登小读者会员体系中的基础级别代理,需要一次性缴纳2万元获得代理权,同时获得100张卡(总价值38800元)。以后每卖出一张卡,获得150元利润。2万代理仅可推荐2万级别代理,推荐成功即一次性获得50%现金...

    auto-opencv.zip_Auto Tracking_gun_opencv 十字

    电脑上连接一个摄像头,启动程序后在视频窗口中就会 有两个跳动的黄色小球作为你...还要在当前目录下放置一副320×240的命名为gun.bmp的图,我用的就是图中的这张卡,通过它来决定你能用什么颜色的物体操 纵你的准星)

Global site tag (gtag.js) - Google Analytics