开始学习Angular Mobile UI
介绍
Mobile AngularUI 可以让你使用Twitter Booostrap和Angular JS来开发混合移动App和桌面应用程序.
下面是是一些贯穿整个项目的步骤,我强烈的建议你去继续阅读,然后去阅读详情 开始指导.
动过实例学习
Demo是一个学习Mobile Angular UI的一个很好的方式.
你可以从这里下载资源:https://github.com/mcasimir/mobile-angular-ui/tags.
打开下载好的文档浏览demo文件夹下面的文件
如果你很熟悉Angular,只需要查看index.html和demo.js就可以是是你准备好开发自己的应用
学习如何引入和引入的什么文件
Mobile Angular UI重新分配了部分Twitter Bootstrap里面的CSS.Bootstrap已经被扩充到友好的支持移动组件,并且通过这里将这些规则分割成了三部分:
mobile-angular-ui-base.css: Mobile rulesmobile-angular-ui-hover.css: Hover rulesmobile-angular-ui-desktop.css: Desktop rules
这样你就可以有目标的只引入你设备需要的文件
JS
Mobile Angular JS由三个基础的angular模块组成
- core: 任何一个手机和桌面应用程序都可以适用这些特性
- components: angular指令与服务支持外来组件.
- gestures: 致力于更容易的处理触碰事件.
core和components都是:mobile-angular-ui.js的一部分,然而gestures分布于一个分开的文件中:mobile-angular-ui.gestures.js
主要概念
样式和组件
Mobile Angular UI与Twitter的Bootstrap紧密相关.
Mobile Angular UI实际上是抓取的bootstrap.css的资源并且简单操作从视觉和感觉上达到移动端友好的效果.他不仅保留了大部分的原始组件一遍可以关联他们文档中的基础样式和组件.
更多更新的关于bootstrap的基础组件
并且重写的boostrap是他对于angular更加的友好.
那些原来默认被隐藏的组件现在都默认展示,这使得他更加容易的与ng-if/ng-show/ng-hide一体化
所以当意识到这一点,Mobile Angular UI bootstrap组件更像是
- Modals
- Dropdowns
总是被呈现,除非你什么也不做.
布局
看一下demo/index.html将会向你完全展示Mobile Angular UI应用布局的结构
他与任何一个bootstrap都很像,但是你也会发现一些工具条,导航代码占位符和内部页面继承的不同之处
滚动条
在Mobile Angular UI中全部的滚动条都完全废除了.这样就更容易处理多样的竖状滚动条并且适应导航栏
你可以使用Scrollable Areas使得滚动条可用.
移动标记
捕捉模块揭露服务和命令将会帮助你复制主要和详尽的模型
捕捉模块揭示指令通过使用uiContentFor和uiYieldTo指令是你可以提取那些被用在其他部分的标记
他提供了一种可以复制和移动一块标记去其他文件的方法
状态分享服务和ui-*指令
你必须事先知道和学习Mobile Angular UI组件不局限于几百条命令的单一列举
也不像他大部分的UI框架那样需要用同样的方法创建大部分的组件
Mobile Angular UI将会给你一个极大的灵活性去定制App的行为和小工具,甚至不用去学习不同的语法和不用自己写JS代码(看到这我就方了呀)
任何一个开始使用angular.js开发人员都将从引用以下代码开始
app.controller(function($scope){
$scope.activeTab = 1;
$scope.setActiveTab = function(tab){
$scope.activeTab = tab;
};
});
<div class="tab-nav">
<a ng-click="setActiveTab(1)">Tab1</a>
<a ng-click="setActiveTab(2)">Tab2</a>
<a ng-click="setActiveTab(3)">Tab3</a>
</div>
<div class="tabs">
<div ng-if="activeTab == 1">Tab1</div>
<div ng-if="activeTab == 2">Tab2</div>
<div ng-if="activeTab == 3">Tab3</div>
</div>
Mobile Angular UI提供给你一个更加通用好管理的方式去做:Sharestate服务和ui-*命令
ShareState允许使用最基本的angular和富angular命令去创建复杂的组件,这样你就有能力去做:
- 只用HTMl就可以创建复杂的组件
- 使你的控制器脱离UI逻辑
使得ng-click可以做其他的事情- 任何一个时间都可以触发UI的动作
- 把组件状态发送给URL
- 用剩下的UI分享组件的情形
<div class="tab-nav" ui-state='activeTab'>
<a ui-set="{activeTab: 1}">Tab1</a>
<a ui-set="{activeTab: 2}">Tab2</a>
<a ui-set="{activeTab: 3}">Tab3</a>
</div>
<div class="tabs">
<div ui-if="activeTab == 1">Tab1</div>
<div ui-if="activeTab == 2">Tab2</div>
<div ui-if="activeTab == 3">Tab3</div>
</div>
ui-state创建了一种可以在声明的被绑定的元素内可以随时访问的全局变量
看完文档和其他部分的例子你就可以知道如何去用ui-*命令创建一般的组件像是:折叠框,标签,下拉等
手势和触碰
Angular Mobile UI意图解决开发在手机上使用的html是遇到的大部分一般问题.
只是将mobile-angular-ui引用到你的app中就已经获得到
- 可靠快速的触碰滚动
- 快速点击
- 预防闪动和/触碰乱跳
----未校验
开始学习Angular Mobile UI的更多相关文章
- Angular Mobile UI API文档
这个是angular-mobile-ui的主要模块 应用这个模块你也将同时获取到mobile-angular-ui.core和mobile-angular-ui.components的特性 他不在需要 ...
- 百度mobile UI组件GMU demo学习1-结构和初始化
移动web现在已经是zepto的天下,但是一直找不到合适UI库,找了一段时间,终于找到了百度的ui库gum和inter 的 appframework UI库 相比之下,百度的UI库更接地气,配合百度强 ...
- 学习angular 指令构造器时遇到的小问题
在学习angular时,使用模块来为应用添加自己的指令时,遇到了一个问题,演示的代码如下: <!DOCTYPE html> <html> <head> <me ...
- 学习jquery mobile
学习jquery mobile的时间不是很长,在学习的过程当中也遇到了很多令人抓狂的问题,在网上搜索问题答案的时候发现,现在关于jquery mobile的文章还不是很多,所以,我也是一边学习,一边摸 ...
- Swift学习之常用UI的使用
Swift学习之常用UI的使用 最近笔者在开始学习苹果最新的编程语言,因为笔者认为,苹果既然出了这门语言就绝对不会放弃,除非苹果倒闭了(当然这里知识一个玩笑). 所以在不久的将来,swift绝对是iO ...
- 阿里云 Angular 2 UI框架 NG-ZORRO介绍
说明: Angular2出来后,一直想找个基于Angular2的前端后台管理框架,但一直没有找到比较适合的.前段时间在Angular官网资源无意之间看到NG-ZORRO,NG-ZORRO由阿里计算平台 ...
- Angular 2 to Angular 4 with Angular Material UI Components
Download Source - 955.2 KB Content Part 1: Angular2 Setup in Visual Studio 2017, Basic CRUD applicat ...
- Flutter学习指南:UI布局和控件
Flutter学习指南:UI布局和控件 - IT程序猿 https://www.itcodemonkey.com/article/11041.html
- node-webkit学习(4)Native UI API 之window
node-webkit学习(4)Native UI API 之window 文/玄魂 目录 node-webkit学习(4)Native UI API 之window 前言 4.1 window a ...
随机推荐
- imx6 usb otg config 配置
imx6 usb的host和slave配置,配置之后,安装gadget模块,就能够在host和slave之间切换. 参考文档: i.MX 6Dual/6Quad Linux Reference Man ...
- 7. ensemble learning & AdaBoost
1. ensemble learning 集成学习 集成学习是通过构建并结合多个学习器来完成学习任务,如下图: 集成学习通过将多个学习学习器进行结合,常可以获得比单一学习器更优秀的泛化性能 从理论上来 ...
- div垂直居中
width:265px; height:130px; display:table-cell; vertical-align:middle; text-align:center;
- Redis: OOM command not allowed when used memory > ‘maxmemory’
现象 日志里出现异常: OOM command not allowed when used memory > 'maxmemory' 原因 内存已满,不允许再存数据了,可以通过redis-cli ...
- varnish4.1 配置文件default.vcl
varnish4.1 配置文件default.vcl # This .x VCL file vcl 4.0; backend default { .host = "127.0.0.1&quo ...
- python-study1 in hubei
1.安装好python后要配置环境变量(C:\Python27\Scripts---能找到pip.exe和easy_install.exe和C:\Python27---能找到python.exe) 2 ...
- .NET XML序列化与反序列化
闲着没事,写了两个通用的XML序列化与反序列化的方法. 贴出来当作笔记吧! /// <summary> /// XML序列化 /// </summary> /// <ty ...
- 游戏机制(Machinations)在线演示工具
>>> http://www.jorisdormans.nl/machinations/
- PHP中GPC
PS:PHP中绕过GPC的情况有很多,本文仅仅是总结了一些比较常见的,而且写的很浅[因为本人水平有限],欢迎大家积极拍砖:) 1.通过数据库(文本)中转 通过数据库中转: [注意存入数据库和selec ...
- web前端基础知识 jQuery
通过之前的学习我们已经了解了html.css.javascript的相关知识:本次我们就共同学习进阶知识:jQuery~ 一.什么是jQuery? jQuery其实就是一个轻量级的javascript ...