ionic混合开发总览

闲语:

最近在讲混合开发的课程,分享下部分课上的笔记,等抽出时间,会把混合开发这部分出一套系列教程。尽管网上遍地都是,但是没有成体系从零到项目上线的。希望可以多多抽出时间吧。

正题:

页面传值笔记路由部分:

一.路由开始部分:

1.state("tab"):

1)《tab》是区域的名字 可以随便写

2)没有《views》的《state》 是路由的开始

3)《tab》这个区域的名字 是其他子视图 标识与这个区域有从属关系的一个前缀

4)区域的名字 必须是一个唯一的

2.url:"/tab"

1)表示路由开始的一个文件位置

2)angularJS会通过这个开始文件的位置  去查找 它属下文件

3.templateUrl:"templates/tabs.html"

1)模板存储在工程中一个位置

2)文件名字 不要写错

二.子视图部分:

1.state("tab.home")

1)子视图部分 区域的名字 名字的前缀《tab》是上一级的名字

2.url:"/home"

1)是文件存储的位置 angularJS 会根据路由的从属关系 来找到对应的文件

3.views:{}

1)子视图 是路由中的一个分支

2)"tab-home"(<1>文件的标识符<2>通过文件的标识符 来确认 要在导航视图中 显示的 模板(视图)<3>可以重复 如果重复就是还在这个页面打开 一般用于 访问下一级页面)<1>templateUrl:"templates/home.html"<2>controller:"homeController" ✭✭✭✭✭注意名字不要写错

三.子视图的二级页面:

1.state("tab.homeDetail")

1)路由区域的名字

2)这个区域的名字 是唯一的✭✭

2.url:"/home/:newsID"

1)✭✭✭✭✭注意:如果是某一个视图的二级页面 需要填上级页面的url拼接上跳转的参数

2)在当前页面 打开另外一个页面

3.views:{}

1)"tab-home"

 <1>要打开哪一个文件的名字

<2>✭✭✭✭✭这个名字是他上一页面的名字

2)templateUrl:"templates/homeDetail.html"

3)controller:"homeDetailController"

四.默认开始页面:

$urlRouterProvider.otherwise("/tab/home");

Factory部分:

一:写公共数据 公共方法的位置 可以被全局访问

二:factory("News")

1.它是标识Factory名字 与标识controller的名字类似

2.是通过名字来找到 对应的Factory

3.可以通过得到的Factory名字来查找到他里面的内容

三:获取Factory里面的内容->return{}


控制器部分:

一.控制器的声明周期

1.控制器并不是一直不被销毁的

2.当不再使用的时候  就会被自动销毁

3.它里面的数据也就跟随一起消失

4.尽量不要再里面写逻辑

二.controller("homeController")

1.控制器的名字

2.名字也不要重复

三.服务

1.$scope:

1)可以绑定控制器中的数据

2)只能在当前控制器使用

2.$rootScope:

1)可以绑定控制器中的数据

2)全部控制器 都可以访问到

3.$stateParams

1)可以通过这个服务获得到对应变量的值

4.自定义的服务

1)通过服务名 获得到服务中的内容

视图部分:

一:分栏部分(tabs)

1.分栏的最外层 在他的里面会存在几个分栏 尽量不要写超过5个tab

2.分栏中其中一个选项(ui-sref="tab.home)指向咱们的视图 这样 在切换视图的时候  标题会跟随着去切换

1)《name》与路由中的《views》的名字 要匹配,表示导航视图中 展示的视图 是哪个

二:子视图部分:

1.导航的标题

2.如果有下一届页面 需要添加:href="#/tab/home/{{news.id}}"

1)是在当前页面打开一个视图

2)href的格式要与路由中的格式相同(url:"/home/:newsID")

3)newsID是一个形参 参数

4)在控制器中搜索的《newsID》($stateParams.newsID)就是上面那个形参

以上是课上帮学生记得笔记,未经过整理,大家可以先参考下

你可能感兴趣的:(ionic混合开发总览)