Ionic in Action MEAP v06 - 07

1.SASS

(1)概念:sass是一个css的预处理器,是css的超集;这意味着你可以定期写CSS和Sass了解它。SASS编译到CSS,因此,浏览器需要特殊的东西;

(2)sass提供了大量的css没有的特征,比如变量,筑巢,和继承,但是这个几个特征对于我们自定义样式是很有用的;

(3)资源url: http://sass-lang.com/;

(4)Ionic使用sass编写自己的样式(styling),并且使用了大量的变量。变量控制的主要有颜色样式,字体,边距,边框上,和更多的。我们能继承这些变量,并且那时生成我们自己的新值;

2.SASS环境搭建

(1)dos 执行命令:npm install -g gulp;

(2)dos 执行命令:npm install gulp --save-dev

(3)dos 执行命令:npm install gulp-ruby-sass gulp-autoprefixer gulp-minify-css gulp-jshint gulp-concat gulp-uglify gulp-imagemin gulp-clean gulp-notifygulp-rename gulp-livereload gulp-cache --save-dev;

3.SASS在ionic项目使用

(1)在ionic start myapp ...生成的项目主目录下执行 doc 命令:ionic setup sass(必须执行,否则不能进行下面的重新编译的操作)  ,就会生成node_modules文件夹,里面包含了gulp所要依赖的模块

(2)重新编译scss文件dos命令:gulp sass,执行一次,但是如果实时执行,就设置用dos命令:gulp watch设置监听;而且设置完之前两个命令后(不执行也行),执行startserve时,每次都会先执行scss文件的重新编译,之后才启动服务;


4.自定义scss

(1)在scss文件夹下,创建自己的scss文件;

(2)导入自定义的scss文件在ionic.app.scss文件中,和导入Ionic Style文件一样,但是自定义的文件导入必须在ionic-style文件之后,语法:@import "customizations"

(3)可以自定义scss文件在www文件夹下面,但是注意两点:一、在主app文件中导入时文件路径得修改成'www/...';二、默认情况,Gulp task 认为你会将所有的.scss文件都放在scss文件夹下面,因此在www下的scss文件不会被wather监听,导致不能监听到www下scss文件变更,但是可以通过修改gulpfile.js文件来实现对www下的scss文件也进行监听,

varpaths = {

sass: ['./scss/**/*.scss']

};

可以看到,监听路径是个对应的数组,我们只要将www下的scss路径添加进去,即可实现修改的监听;

5.手势事件

(1)两种方式,一、ionic提供了一些事件,可以通过创建ionic指令,基于ionic提供的事件实现;二、添加监听事件在你的控制器中(controller),使用ionic提供的$ionicGesture服务;

(2)


6.$apply()和$digest()

(1)在监听事件中修改了model的值,

(2)$scope.left = event.gesture.deltaX;

(3)所以需要手动调用$digest循环运行,在循环过程中watcher会被调用,检查model是否发生变化,如果发生变化对应的监听函数会被执行,进而实现Model和View数据双向绑定同步至少循环两次,直到model不再发生变化为止,这就是脏检查;因此尽可能不要在监听函数中修改model的值,一般会自动执行的,但是在外部修改或者监听事件中修改model的值时,就只能手动调用一般是由$apply()来实现的,因为调用$apply()后,会自动执行$digest(),而且$apply()方法的两种调用方式,无参数,和有参数,无参数直接$apply(),即可;有参数的$apply(function(){..//你的修改model的代码块//..}),有参数的,参数会被包含在try...catch中,出错是由系统帮忙处理。有参数样式:$scope.$apply(function() { ... }) ;

7.localStorage,WebSQL 和 IndexedDB

(1)localStorage.setItems(key,value);

(2)WebSql由于不同的浏览器厂商的不同导致在2010被放弃使用了,在这本书写作时,只有android和ios两个在使用,但是随着时间的推移它将可能被放弃;而且cordova是很好的支持的,

(3)IndexedDB是一个对象储存,支持不同的数据类型储存,它有一个域这个域有不同的数据类型,通过这个域可以获取相应类型的数据,但是在写这本书时,android和ios还不支持;

(4)cordova数据库支持文档:http://cordova.apache.org/docs/en/edge/cordova_storage_storage.md.html#Storage  ; 通过这个文档我们可以选择我们平台应该适合哪个数据库储存;

(5)cordova storage plugins : http://plugins.cordova.io/  ;

(6)Android:

(7)IOS:

8.Ionic

(1)ionic.Platform服务提供了有光平台的方法:isIOS(),isAndroid(),或者platform()返回平台的名称;

(2)$ionicConfigProvider初始化配置,

.config($ionicConfigProvider.tabs.style('striped').position('bottom'));

android实现将tabs显示在底部

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容

  • ionic工程发布之前的最后一步,即代码压缩(获取更好的性能)以及代码混淆(以免源码被有心者轻易获取)。包括以下步...
    全栈弄潮儿阅读 2,831评论 0 11
  • 在现在的前端开发中,前后端分离、模块化开发、版本控制、文件合并与压缩、mock数据等等一些原本后端的思想开始...
    Charlot阅读 5,429评论 1 32
  • 安装Gulp首先需要安装Node.js,并在控制台输入$ npm install gulp -gMac端需要写成$...
    LaBaby_阅读 909评论 0 1
  • 参照Gulp for Beginners来学习Gulp基本内容。以下为学习记录笔记。 安装Gulp 首先需要安装N...
    JenniferYe阅读 2,523评论 1 17
  • 原文标题:Gulp for Beginners作者: Zell Liew翻译:治电小白菜原文地址:https://...
    ZZES_ZCDC阅读 1,570评论 6 18