`
minchina91
  • 浏览: 9850 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

学习敏捷开发(trello)之party_bid卡片3,4总结

 
阅读更多

更新了这么久,前段时间一直没有写博客的冲动!昨天和老师聊了好多东西,感觉是应该坚持写博客了!好了,废话少说了,继续写!!

party_bid第三.第四张卡

说明:在第三和第四张卡中,主要是掌握是underscore工具库的使用方法.

underscore库的安装使用

安装underscorejs库

由于我们是采用的bower管理工具,所以我们只需要一个简单的命令就能搞定了
bower install underscore --save
说明: 使用--save参数,安装的时候,就会自动将安装的underscore写入到bower.json中,而不需要手动来添加,同样,在使用npm管理工具的使用,一样的有这个参数

添加underscore库进工程,方便使用

 <!-- bower:js -->
    <script src="/bower_components/underscore/underscore.js"></script>
    <script src="bower_components/jquery/jquery.js"></script>
    <script src="bower_components/angular/angular.js"></script>
    <script src="bower_components/json3/lib/json3.js"></script>
    <script src="bower_components/bootstrap/docs/assets/js/bootstrap.js"></script>
    <script src="bower_components/angular-resource/angular-resource.js"></script>
    <script src="bower_components/angular-cookies/angular-cookies.js"></script>
    <script src="bower_components/angular-sanitize/angular-sanitize.js"></script>
    <script src="bower_components/angular-animate/angular-animate.js"></script>
    <script src="bower_components/angular-touch/angular-touch.js"></script>
    <script src="bower_components/angular-route/angular-route.js"></script>
    <!-- endbower -->
因为我们使用的bower包管理,因此我们只需要将underscore的路径添加进index.html就可以正常使用了.

jade网页模板的安装和使用

安装jade

安装jade模板生成工具,这样就能够在我们修改我们的代码后,即使将我们修改后的网页翻译成html并显示
npm install grunt-contrib-jade --save-dev
这里我们使用这条命令,就能够安装jade模板引擎,同时添加进package.json.

jade的使用

这里,我们需要对我们的gruntfile.js文件进行修改,将jade字段添加进去,可以参考,我写过的篇文章

第四张卡之竞价成功者的计算

1.将竞价的人安装出价的高低进行排序,得到排序后的数组

BidResult.sort_by_price=function (bid_name){
    return _.sortBy(Bid.find_clicked_bid_messages(bid_name), function (list) {
        return list.price;
    })

};

2.将排序后的数组安装价格分组,并找出其中价格最低且长度是一的对象

BidResult.bid_success_user = function (argument){
    var count_price = _.groupBy(argument,function(obj){
        return obj.price;
    });
    BidResult.save_bid_count_price_user(count_price);
    return _.find(count_price,function(price){
        return price.length==1
    });
};

这样,我们利用underscore的sortby和grunpby就能找出最后胜利的竞价人

3.统计各个出价的人数

BidResult.save_bid_count_price_user=function(argument){
    var result = _.map(argument, function(value,key ){
        return {"price": key, "count": value.length}
    });
    localStorage['bid_result'] = JSON.stringify(result);
};
这里,我们使用underscore的map方法,将按照价格排序之后的数组,通过map重新组合成新的对象,
将价格作为新对象的price键,将该价格对应的人数,作为count的键,并将其存入localstorage中.

4.显示出统计结果

header.header
    | {{current_bid}} ({{bid_user_num}}人)
    button.btn.btn-primary.header-left(ng-show='true', ng-click='back_to_bid_list_page()') 返回
    button.btn.btn-primary.header-right(ng-show='true', ng-disabled='button_enable', ng-click='\
  back_to_bid_result_page()') 列表
#wrapper.wrapper
    ul.list-style-2
        li.clearfix.btn-default(ng-repeat='bid in bidcounts track by $index', ng-click='choose_bid(bid)')
            h3 ¥{{bid.price}}
            i {{bid.count}}人
footer
    div(ng-show='success_bid')
        h5
            | 竞价结果:{{success_user.name}}   ¥{{success_user.price}}    {{success_user.phone.slice(0,3)}}XXXX{{success_user.phone.slice(7)}}
    div(ng-show='fail_bid')
        h5
            | 竞价失败
这里,我们使用了jade模板引擎,同样,使用angular的ng-repeat标签显示出结果数组

bootstrap模态框的使用

在第四张卡中,我们通过模态框来显示成功竞价人的信息.模态框是bootstrap的一个js插件.
在使用模态框的时候,我们需要引入bootstrap的CSS样式
<link rel="stylesheet" href="bower_components/bootstrap/docs/assets/css/bootstrap.css" />
同时,我们还应该如入bootstrapjs和jqueryjs
    <script src="bower_components/jquery/jquery.js"></script>
    <script src="bower_components/bootstrap/docs/assets/js/bootstrap.js"></script>
这里,,特别说明一下,还需要引入一个样式,我之前就因为少引入了一个样式库,然后花了很多的时间来解决后面的问题
<link rel="stylesheet" href="bower_components/bootstrap/docs/assets/css/bootstrap-responsive.css" />
bootstrap-responsive.css是必须引入的,只有引入了这个库,才能够自动换行,能改自动适应浏览器,这可能就是他们所说的响应式布局吧?

在jade文件中,我们使用一下代码的完成模态框的使用
#example.modal.hide.fade(tabindex='-1', role='dialog', aria-labelledby='myModalLabel', aria-hidden='true')
    .modal-header
        a.close(data-dismiss='modal', ng-click='show_footer_by_button()') ×
        h3 竞价结果
    .modal-body(ng-show='modal_disp')
        h4 {{success_user.name}}¥{{success_user.price}}
        p {{success_user.phone.slice(0,3)}}XXXX{{success_user.phone.slice(7)}}
    .modal-body
        p {{is_bid_success}}
footer
    div(ng-show='show_success_user')
        h5
            | 竞价结果:{{success_user.name}}¥{{success_user.price}}{{success_user.phone.slice(0,3)}}XXXX{{success_user.phone.slice(7)}}
    div(ng-show='show_fail_user')
        h5
            | 竞价失败

在html页面的使用之后,我们还需要在相应的controller文件中设置触发它.
 $('#example').modal("show");
        $timeout(function () {
            $('#example').modal('hide');
            $scope.show_success_user=BidResult.is_bid_success(bid_success_user);
            $scope.show_fail_user= BidResult.is_bid_fail(bid_success_user);

        }, 3000);
因为这里有两种不同的情况,所以我使用了两个scope变量,有竞价失败和竞价成功的情况.
同时我们使用timeout来计时,timeout是以ms作为单位的,当3000ms到了,模态框就会消失..
在使用timeout的时候,别忘了将依赖注入进来,否则timeout也是没法使用的.
angular.module('partyBidApp')
    .controller('BidResultControl', function ($scope,$location,$routeParams, $timeout) {



分享到:
评论

相关推荐

    trello_lead_time:用于计算 Trello 列表中卡片的前置时间、排队时间和循环时间的 Ruby gem

    trello_lead_time是一个 Ruby gem,用于计算 Trello 列表中卡片的前置时间、排队时间和循环时间。 排队时间- Trello 卡等待启动所花费的时间。 周期时间- Trello 卡在处理过程中花费的时间。 前置时间- Trello ...

    Laravel开发-laravel-trello

    **Laravel 开发与 Trello 集成详解** 在 Laravel 框架中,开发者经常需要集成外部服务,如 Trello,以实现项目管理、任务分配等需求。`laravel-trello` 是一个专门为 Laravel 设计的 Trello API 包装器,它允许...

    Husky.io - Annotate Trello:trade_mark: image attachments-crx插件

    在Trello:trade_mark:卡中的图像附件上绘制带标签的注释。 简单又安全。 在http://husky.io上观看演示 此扩展功能增强了Trello:trade_mark:卡的功能,并允许您在图像附件中添加带标签的注释。 带注释的图像将保存在...

    trello_ticket_id:用于在 Trello 中显示票证 ID 的 Chrome 扩展

    trello_ticket_id Chrome插件在trello中显示票号。安装复制存储库去这里:Chrome://扩展/ 单击复选框“开发人员模式” 单击“加载已解压的扩展程序”按钮选择一个包含存储库的文件夹使用转到 trello ... 利润!

    trello_task_manager:ReactJs + Spring Boot + Postgres上的任务管理器

    trello_task_manager:ReactJs + Spring Boot + Postgres上的任务管理器

    MenuTab_for_Trello_v1.6

    然而,为了进一步提升Trello的使用体验和工作效率,开发者们推出了一系列的扩展应用,其中之一便是"MenuTab for Trello_v1.6"。这款应用旨在为Trello用户提供更加便捷的操作菜单和增强的功能集。 MenuTab for ...

    simply-trello:Trello 看板、列表和卡片的基本界面

    Simply-trello 并不打算提供完整的 Trello API 功能集 - 而是提供一种简单的、数据驱动的方式来将卡片放到 Trello 上或向现有卡片添加评论。 所以... 我需要能够轻松: 创建/更新板和板的列表 将卡片添加到图板...

    Trello使用说明

    Boards是Trello的核心功能之一,代表项目或任务集合。通过点击Trello首页,用户可以查看自己创建的所有Boards,以及被邀请加入的Boards。管理员有权新建Boards,只需点击“New Boards”,输入名称后确认创建。此外,...

    trello_organization_activities:查看您在Trello上的组织的活动

    如何使用 在config/environment.js ENV['trelloApplicationKey']应用程序密钥设置为ENV['trelloApplicationKey'] 通过ember serve启动服务器 访问站点localhost:4200 授权 输入您的组织名称,然后按按钮!

    trip:Trello 到 Hipchat 的集成

    设置以下环境变量,可以在命令行中使用相应的选项进行设置HIPCHAT_TOKEN --hipchat-token :来自 Hipchat 活动的 API 令牌TRELLO_APP_KEY --trello-app-key : Trello 密钥TRELLO_USER_TOKEN --trello-token : ...

    trello_console_client-Dreadykek

    томойконсольныйклиентдляTrello! СкачайтеилисклонируйтерепозиторийЗапуститеtrello.pyчерезконсоль,以及一个其他麻省理工学院...

    trello_on_point:Chrome扩展程序可免费向trello添加一些开机功能和我自己的自定义功能

    特雷洛 :trade_mark: 在点上 :index_pointing_up: ( 一个Google Chrome扩展程序,用于根据点数来衡量Trello卡的复杂度/难度。 通过在方括号中的卡标题开头添加分数(低1分),您可以轻松衡量任务的燃尽并评估团队...

    web 开发敏捷 之道 pdf 带书签高清

    4. Scrum框架:Scrum是敏捷开发中最常用的框架之一,包括冲刺(Sprint)、产品待办事项列表(Product Backlog)、每日站会(Daily Scrum)、回顾会议(Sprint Retrospective)和评审会议(Sprint Review)。...

    OA办公项目管理团队协作工具Trello_app_ui界面设计_sketch素材下载.sketch

    OA办公项目管理团队协作工具Trello app ui界面设计 .sketch素材下载 OA办公管理、sketch、团队管理APP

    **敏捷开发框架开发手册

    **敏捷开发框架开发手册**是指导开发者在软件开发过程中运用敏捷方法的一个综合指南。这份手册涵盖了多个关键领域,旨在帮助团队高效地实现敏捷开发流程,提高软件开发的灵活性和响应能力。 1. **部署和管理** ...

    个人学习总结范文模板5篇_关于个人学习工作总结范文.docx

    【个人学习总结与技术提升】 在个人学习的过程中,总结是一个重要的环节,因为它能帮助我们提炼经验,找出不足,促进未来的发展。以下是对个人学习总结的深入解析,以及如何结合技术领域进行有效提升: 1. **精细...

    trellodog:Trello-> Datadog绘图工具

    Trello工具,用于将图形发送到数据并生成活动报告 验证 trellodog配置了2个环境变量 $ export TRELLO_APP_KEY= &lt; trello&gt; $ export TRELLO_API_TOKEN= &lt; trello&gt; 活动 可以从bin目录中调用,就像; ./stats ...

    敏捷开发

    敏捷开发工具如Jira、Trello和Confluence等,可以帮助团队管理任务、跟踪进度和协作。开发工具如Visual Studio Code、IntelliJ IDEA或Eclipse则提供强大的代码编辑和调试功能,而GitHub和GitLab等平台则提供了源码...

    深度讲解:Agile and Tooling敏捷开发与工具

    【敏捷开发】 敏捷开发是一种以人为核心、迭代、逐步交付的软件开发方法论。它强调灵活应对变化,鼓励团队间的协作和沟通,以提高软件质量和满足客户需求。敏捷开发的核心价值观包括个体和互动高于流程和工具,可...

Global site tag (gtag.js) - Google Analytics