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

简介:

上节我们做了个 Hello AngularJS,这一节我开始构建用户界面和用户操作控制等。

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

本节我将使用 Bootstrap HTML, CSS, and JS 框架,相关知识请参考官网文档 Bootsrap Getting Started

本节代码获取

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

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

为首页添加顶部导航和左侧菜单(可选)

index.html (由于篇幅有限,咱们只例示关键部分,其它可参照代码库)

<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
 ...
            <a class="navbar-brand" ui-sref="front">Price Barcode</a>
...
</nav>
<div class="container-fluid">
    ...
                <li ui-sref-active="active"><a ui-sref="front">EAN13 价格条码</a></li>
    ...
        <div class="col-lg-10">
            <div class="view-container">
            <div class="view-frame" ui-view></div>
            </div>
        </div>
   ...
</div>

ui-sref, ui-sref-active, ui-view 请参见 UI Router API Reference

修改 scripts/route.js,申明我们的视图状态 front, 这里涉及到 UI Router State Manager

'use strict';
angular.module('priceBarcodeApp',[
    'ngTouch',
    'ngAnimate',
    'ui.router'
])
.config(function($stateProvider, $urlRouterProvider){
    $urlRouterProvider.otherwise('/front');
    $stateProvider.state('front',{
        url: '/front',
        templateUrl: 'front.html',
        controller: 'FrontCtrl'
    });
})
.controller('FrontCtrl',function($state,$scope){
    $scope.frontHeading = 'ENA13 价格条码生成器说明';
})
.run(function($rootScope, $state,$stateParams){
    $rootScope.$state = $state;
    $rootScope.$stateParams = $stateParams;
});
  1. ['ngTouch','ngAnimate','ui.router'] 为 AngularJS 的依靠注射(DI)
  2. .config(... 为我们的 MVC 配置,据此我需要一个命名为"FrontCtrl"的 Controller 和一个名称为"front.html"的页面文件作为视图 (partial view)。
  3. .controller(...为我们的 Controller 申明(按照 AngularJS 是最佳实践提示,可以分列 Controllers 到一个单独文件并通过 DI 引入,这里我们暂且申明在同一个文件中)

front.html

<hr/>
<ui-view/>
<div class="panel panel-info">
    <div class="panel-heading">{{frontHeading}}</div>
    ...
</div>

{{frontHeading}} Expression 将绑定 Scoping 变量 $scope.frontHeading

如果你的 Terminal 保持在 browser sync 状态,你将看到如下界面。这样我们就完成了一个基本的 MVC 模式和视图状态管理下导航控制

pricecode_illustration_07

:( 。我们调整一下 styles/main.scss 就行了。加入以下片段

body{
  padding-top: 70px;
}

由于我们的gulpfile 加入了 gulp.watch('./styles/**/*.scss', ['styles']); 这样我们只要改修并保存了相应文件 browser-sync 插件将会为我们自动加载新的内容。这个可以说是 WYSIWYG 的开发效果吧。:)

pricecode_illustration_08

front.html 添加用户输入表单和条形码条目列表后我们将看到如下界面。由于篇幅原因请参考代码库。(本节开头处 本节代码获取 有说明)

pricecode_illustration_09

下一节我们将进行 Controller 的编写,完成控制器,视图,与数据绑定等。待续...

目录
相关文章
|
前端开发 JavaScript .NET
AngularJS 实践:应用开发 :: ENA13 价格条码-(三)
上一节我们完成了开发工作流工具和环境准备,这一节我们将进行渐进式应用编程。熟悉 AngularJS 开发的同学请跳过。 上一节参考: AngularJS 实践:应用开发 :: ENA13 价格条码-(二) 添加 web 应用所依赖的 JavaScript, Stylesheet 引用 编辑 i
2487 0
|
12月前
|
人工智能 安全 前端开发
《主动式智能导购 AI 助手构建》解决方案评测
在部署《主动式智能导购 AI 助手构建》解决方案时,需关注以下四方面: 1. **引导与文档支持**:官方应提供细致、易懂的引导步骤,涵盖环境搭建、模块配置及常见问题解答。遇到错误及时截图反馈。 2. **原理与架构理解**:深入探究智能导购的工作原理和系统架构,从前端到后端各层运作机制,明确模块职责与扩展性。 3. **关键技术洞察**:理解百炼大模型和函数计算的应用,确保其适配场景并高效运行,通过截图反馈技术难题。 4. **生产环境评估**:评估方案在实际业务中的适用性,如安全防护和数据接入指导,确保高并发下的稳定性和全面性。 认真评测这些要点,助力方案持续优化。
208 11
|
12月前
|
数据采集 人工智能 智能设计
《人工智能:解锁新材料最佳掺杂元素及比例的密码》
在新材料研发中,确定最佳掺杂元素及比例充满挑战。传统方法依赖经验与试错,耗时且成本高。人工智能(AI)的介入带来了转机:通过分析海量数据、模拟材料行为和优化实验设计,AI能精准预测掺杂效果,减少盲目实验。尽管面临数据质量和模型解释性的挑战,AI仍显著提升新材料研发的效率与准确性,推动多个领域的性能突破,引领智能设计驱动的新材料时代。
305 5
|
机器学习/深度学习 人工智能 计算机视觉
深度学习在图像识别中的应用与挑战####
本文深入探讨了深度学习技术在图像识别领域的革命性进展,特别是卷积神经网络(CNN)的架构创新、优化策略及面临的挑战。通过综述经典CNN架构如AlexNet、VGG、ResNet的发展历程,揭示了深度学习如何不断突破性能瓶颈,实现图像识别准确率的飞跃。文章还详细阐述了数据增强、迁移学习等策略在提升模型泛化能力方面的关键作用,并讨论了过拟合、计算资源依赖等核心挑战,为未来研究提供了方向指引。 ####
|
JSON API 数据格式
Amazon商品详情API,json数据格式示例参考
亚马逊商品详情API接口返回的JSON数据格式通常包含丰富的商品信息,以下是一个简化的JSON数据格式示例参考
|
弹性计算 负载均衡 安全
企业业务上云经典架构方案整体介绍
本次课程由阿里云产品经理晋侨分享,主题为企业业务上云经典架构。内容涵盖用户业务架构现状及挑战、阿里云业务托管经典架构设计、方案涉及的产品选型配置,以及业务初期如何低门槛使用。课程详细介绍了企业业务上云的全流程,帮助用户实现高可用、稳定、可扩展的云架构。
468 0
|
机器学习/深度学习 人工智能 计算机视觉
深度学习在医疗影像分析中的应用与挑战
本文探讨了深度学习技术在医疗影像分析领域的应用现状和面临的主要挑战。随着人工智能技术的飞速发展,深度学习已经成为推动医疗影像诊断自动化和智能化的重要力量。文章首先概述了深度学习的基本原理及其在图像识别任务中的优势,随后详细讨论了其在CT、MRI等医疗影像处理中的成功案例,并分析了当前技术面临的数据隐私、模型解释性以及临床验证等方面的挑战。最后,提出了未来研究的方向和可能的解决方案,旨在促进深度学习技术在医疗领域的更广泛应用。
303 0
|
算法 数据可视化 新制造
Threejs路径规划_基于A*算法案例完整版
这篇文章详细介绍了如何在Three.js中完整实现基于A*算法的路径规划案例,包括网格构建、路径寻找算法的实现以及路径可视化展示等方面的内容。
496 0
Threejs路径规划_基于A*算法案例完整版