Angular4 及 ionic3 教程 随笔(一)

        初学前端跨平台,水平尚浅,如有错误多多指教。

        由于ionic包含在angular外层(或者可以理解为ionic为angular的一个扩展套件  ps:对于手机跨平台开发来说,cordova也可以理解为ionic的一个套件或者angular的套件之一,用来桥接前端页面和手机原生功能),因此ionic项目有着和angular同样的工程目录结构(如图1):


图1

       其中,index会作为app或页面应用启动加载时的入口,一般会在其中对app的基本配置进行声明(如各类基本JS库的引入,相关app在不同平台的配置信息等(如angular的基本库等,另外,cordova的配置也需要在这里进行,且默认ionic项目是没有配置cordova的[印象中,详细参考cordova配置教程],需要手动配置或通过cordova命令行命令生成项目))。main.ts在项目build时会被typescript转译成main.js,且默认声明在index中,为启动应用做准备。main.ts中声明了angular的启动模块,也叫根模块(即目录中的app.module.ts),由此开始是app的主要编程部分(使用typescript)。根模块用来对app的主要组件及框架提供的已有功能进行声明,引入,也可以做一部分逻辑处理,之后再行详述。app.component.ts,可以理解为根组件。下面详细介绍app.component.ts。



       在原文中有这样一句阐述:“我们是这样写 Angular 应用的:用 Angular 扩展语法编写 HTML模板, 用组件类管理这些模板,用服务添加应用逻辑, 用模块打包发布组件与服务。”angular4(或ionic3)的主要想法是,将项目应用拆分为各类组件(或服务等,其实服务也可以叫理解为就是组件,只是缺少某些东西)。各类组件由.html和.scss或.css的文件与.ts文件一一对应且相互结合,形成具有一定功能的基本组件(大至页面,小至bar甚至botton等,由自己决定)。再由这些组件组成较大的模板,再根据app的相应功能或需要声明在根模块中,由此组成一个可以使用的应用。在这些组件中,有的通过组件内的.ts文件中的方法(或函数)调用,有的则通过页面跳转功能调用。总体上来说,angular4的项目就是由分散内聚的功能组件组合而成。由使用者的使用需求去启动相应功能(懒加载)。


       通过ionic3的CLI命令快速建立的自带tabs(签页)项目源文件可以更明确的看到这个思路。首先在app.module.ts中,声明项目需要引入的各个组件。如图2:


图2

    其中,例如myApp,AboutPage.. 等等,均是子组件或子模块。App应用的功能均由这些组件或模块组合实现。因此需要在根模块中声明才能使用。


图3

      在app.component.ts中(图3),@Component()指明了根组件对应的.html(展示)。constructor为MyApp实例化提供了基本的构造方法。platform.ready().then()方法返回了系统平台加载的信息。至此app的启动加载和准备才算完成。同时由于Angular4会对组件类自动进行实例化(即自动读取constructor并实例化),因此Myapp类也就隐藏的被实例化了。实例化的同时提供了一个变量rootPage,并为其赋值TabsPage。在文件头,import {TabsPage}form '../pages/tabs/tabs' ,将文件tabs引入了根组件中。因此有必要观察tabs。如图4:


图4-1  tabs.ts


图4-2 tabs.html

      Tabs中引入了三个类,分别是AboutPage,ContactPage 和 HomePage。并在类装饰器中声明了模板目标,同时类tabspage中声明了三个变量,一一对应至.html中的<ion-tab>标签中。至此就讲Homepage,Aboutpage等三个页面和tabs绑定在了一起。[root]作为<ion-tab>的固定用法,可以理解为一个空白的tab容器(或向系统预先申请的一个空间,具体想了解可以去学习angular4有关属性型指令的内容),在需要加载时,才会具体加载指定的内容,如三个tabTitle中的一个。

      至此,可以理解,angular4(ionic3)应用的构成方式,即为将内容独立内聚的组件一个个组合成需要的部分,再由用户需求去调用。

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

推荐阅读更多精彩内容