AngularJS 实践:应用开发 :: ENA13 价格条码-(最后一里)

上节回顾 AngularJS 实践:应用开发 :: ENA13 价格条码-(五)

在这一个节我将完成这个小应用。并且附加一个简单的 Fade In & Fade Out 效果。这个将涉及 angular-animate 模块插件和一些 Sass

本节代码获取

如果已经 Clone 了代码库,你只需要执行 git checkout codetrip-3

$ git clone https://code.aliyun.com/passpile/pricebarcode.git
$ git checkout codetrip-3

实现价格条形码预览功能

完善 FrontCtrl$scope.preview 操作并添加 angular-barcode 模块依赖

scripts/route.js

'use strict';
angular.module('pbcodeApp',[
        ...,
    'barcode',
        ...
])
...
...
//4. 提供[预览]操作,让用户预览上述列表中的条目所对应的条形码
$scope.preview=function(){
        // 缓存列表数据
    $window.sessionStorage.setItem('priceCodeItems',angular.toJson($scope.priceCodeItems));
        // 调度视图路由状态
    $state.go('.preview');
};
...
添加状态管理下的视图路由 ( UI Routing )

scripts/route.js

...
.state('front.preview',{
        url: '/preview',
        templateUrl: 'preview.html',
        resolve:{
            'priceCodeItems':function($window){
                return angular.fromJson($window.sessionStorage.getItem('priceCodeItems'));
            }
        },
        controller: 'PreviewCtrl'
    });
...
  1. front.preview 申明视图路由状态
  2. resolvePreviewCtrl 提供数据依赖注射引用 priceCodeItems
添加 PreviewCtrlpreview.html 视图

scripts/route.js

...
.controller('PreviewCtrl',function($scope,priceCodeItems){
    $scope.priceCodeItems = priceCodeItems;
        // 显示条码数字
        $scope.barcodeOpts={displayValue: true},
    $scope.printout = function(){
        // to print
    };
})
...

preview.html

<a role="button" class="btn btn-default" ui-sref="^"><i class="fa fa-angle-left"></i> 返回</a>
<button type="button" class="btn btn-primary" ng-click="printout()"><i class="fa fa-print"></i> 打印输出</button>
<hr>
<div class="row">
    <div class="col-md-6 col-md-offset-2">
        <div class="panel panel-default" ng-repeat="item in priceCodeItems" >
            <div class="panel-body">
                <div><strong class="pull-right">[类别代码] {{item.kindCode}}</strong><strong>[类别名称] {{item.kindName}}</strong></div>
                <hr>
                <p><span style="font-size: 3em;padding-left:.9em;"><strong>{{item.price}} 元</strong></span></p>
                <div class="center-block"><barcode type="ean" string="{{item.priceCode}}" options="barcodeOpts"></barcode></div>
            </div>

        </div>
    </div>

</div>

<barcode type="ean" ... 为引用现成的 angular-barcode directive,注:引入模块依赖'barcode'

检视浏览器呈现

至此,我们完成了这个小应用

PreviewCtrl$scope.printout 操作的编写就算是个练习吧,有兴趣的同学自由发挥吧

补充说明几个开发工作流指令

$ gulp #发布应用,将进行文件合并,代码压缩等
$ gulp serve:dist #预览发布过的应用
$ gulp styles #处理 Sass, autoprefixer等

如果有兴趣可以为我们的开发工作流增加 wiredep 工具

附:Sass 作为参考,就不详述了 :)
styles/main.scss

.view-container{
  position:relative;
}

.view-frame {
  &.ng-enter, &.ng-leave {
    background:white;
    position: absolute;
    top:0;
    left:0;
    right:0;
  }
  &.ng-enter{
    animation:0.5s fade-in;
    z-index:100;
  }
  &.ng-enter{
    animation:0.5s fade-in;
    z-index:99;
  }
}
@keyframes fade-in{
  from{opacity: 0;}
  to{opacity: 1;}
}
@keyframes fade-out{
  from{opacity: 1;}
  to{opacity: 0;}
}

结束

没有结束,一切才刚刚开始,匠人精神,学无止境 :)

时间: 2024-08-02 01:06:03

AngularJS 实践:应用开发 :: ENA13 价格条码-(最后一里)的相关文章

AngularJS 实践:应用开发 :: ENA13 价格条码-(五)

上节我们完成了基本用户交互工作,这一个我们将要完成用户表单输入,和数据列表等.相关联 AngularJS 的核心知识包括:Scopes 对象(What are Scopes),Data Binding,Controller以及 UI Router State Manager等. 上节回顾 AngularJS 实践:应用开发 :: ENA13 价格条码-(四) 本节代码获取 如果已经 Clone 了代码库,你只需要执行 git checkout codetrip-2 $ git clone htt

AngularJS 实践:应用开发 :: ENA13 价格条码-(二)

上一节咱们做了个基本介绍和预备工作.这一节我们将进入应用实现前的开发工作流工具和环境准备. 上一节参考: AngularJS 实践:应用开发 :: ENA13 价格条码-(一) 创建开发环境和工作目录 此过程也可以使用 yo webapp 来自动生成. $ mkdir -p ~/webshop && cd ~/webshop 安装 gulp 和 bower $ npm install --global bower gulp-cli 准备 npm 的 package.json,可以参考 Us

AngularJS 实践:应用开发 :: ENA13 价格条码-(一)

AngularJS 可能大家都在用了.我从以前的一项目中提取了一个功能模块并重新组织了一下代码成为一个小应用与大家一起学习交流 AngularJS 的应用开发以及一些工具的使用,比如:bower, gulp等. 这个小应用的功能是让用户输入一些必要信息,然后生成一个相应的 价格条码. 这种价格条码常用于商业零售环境中,一些生鲜类商品按计量计重的方式进行销售时销售前台通过扫码识别其品类和价格,辅助其计价结算. 价格条码-借助 EAN13 条码格式,将品类和价格编入条码 ENA13 一种条码编码格式

AngularJS 实践:应用开发 :: ENA13 价格条码-(四)

上节我们做了个 Hello AngularJS,这一节我开始构建用户界面和用户操作控制等. 上节回顾 AngularJS 实践:应用开发 :: ENA13 价格条码-(三) 本节我将使用 Bootstrap HTML, CSS, and JS 框架,相关知识请参考官网文档 Bootsrap Getting Started 本节代码获取 如果已经 Clone 了代码库,你只需要执行 git checkout codetrip-1 $ git clone https://code.aliyun.co

AngularJS 实践:应用开发 :: ENA13 价格条码-(三)

上一节我们完成了开发工作流工具和环境准备,这一节我们将进行渐进式应用编程.熟悉 AngularJS 开发的同学请跳过. 上一节参考: AngularJS 实践:应用开发 :: ENA13 价格条码-(二) 获取本节代码 https://code.aliyun.com/passpile/pricebarcode 添加 web 应用所依赖的 JavaScript, Stylesheet 引用 编辑 index.html 添加 bootstrap 和 font-awesome 的 CSS 库引用 添加

那位熟悉视频监控软件开发。价格面议

问题描述 那位熟悉视频监控软件开发.价格面议 解决方案 解决方案二:先把监控设备的资料发来看看解决方案三:up解决方案四:我就是做这个了,有什么需求?解决方案五:天敏还是海康的?二次开发?招人?兼职?客户?谢谢解决方案六:海康的硬盘录像机不错!解决方案七:哎,明显的僧多粥少啊,哈哈解决方案八:帮顶了

SAP Bar Code 开发(01) – SAP条码解决方案

  SAP Bar Code 开发(01) – SAP条码解决方案 前段时间,需要对客户进行售前工作,整理下Barcode相关的PPT,加上之前也开发过几个Barcode的项目,于是整理了下相关内容,就有了这个系列. 相信很多朋友对Barcode(即条码)都不陌生,在企业生产管理当中的使用,非常频繁: 同时SAP也提供了几种解决方案供用户选择.下面简述下SAP Barcode常用的几种解决方案及其区别.   1) SAP Console SAP Console 是一种用于终端和SAP交互的组件,

ios开发在表视图显示cell里的内容时出现failed to obtain a cell from its datasource

问题描述 ios开发在表视图显示cell里的内容时出现failed to obtain a cell from its datasource 这是代码 -(NSInteger)tableView:(UITableView )tableView numberOfRowsInSection:(NSInteger)section{ return 1; } -(UITableViewCell)tableView:(UITableView )tableView cellForRowAtIndexPath:

C++开发系统开发的火车票订票系统里,管理员登录,用户登录是一个窗口的么?

问题描述 C++开发系统开发的火车票订票系统里,管理员登录,用户登录是一个窗口的么? C++开发系统开发的火车票订票系统里,管理员登录,用户登录是一个窗口的么? 解决方案 一个窗口足够了,不同的角色在你的后台判断,并且开放对应的功能. 解决方案二: 这个是自己设计的,想怎么样就怎么样. 解决方案三: 一个页面重复使用,只是换了不同请求ULR,