閑語:
最近在講混合開發(fā)的課程,分享下部分課上的筆記,等抽出時(shí)間,會把混合開發(fā)這部分出一套系列教程。盡管網(wǎng)上遍地都是,但是沒有成體系從零到項(xiàng)目上線的。希望可以多多抽出時(shí)間吧。
正題:
頁面?zhèn)髦倒P記路由部分:
一.路由開始部分:
1.state("tab"):
1)《tab》是區(qū)域的名字 可以隨便寫
2)沒有《views》的《state》 是路由的開始
3)《tab》這個(gè)區(qū)域的名字 是其他子視圖 標(biāo)識與這個(gè)區(qū)域有從屬關(guān)系的一個(gè)前綴
4)區(qū)域的名字 必須是一個(gè)唯一的
2.url:"/tab"
1)表示路由開始的一個(gè)文件位置
2)angularJS會通過這個(gè)開始文件的位置? 去查找 它屬下文件
3.templateUrl:"templates/tabs.html"
1)模板存儲在工程中一個(gè)位置
2)文件名字 不要寫錯(cuò)
二.子視圖部分:
1.state("tab.home")
1)子視圖部分 區(qū)域的名字 名字的前綴《tab》是上一級的名字
2.url:"/home"
1)是文件存儲的位置 angularJS 會根據(jù)路由的從屬關(guān)系 來找到對應(yīng)的文件
3.views:{}
1)子視圖 是路由中的一個(gè)分支
2)"tab-home"(<1>文件的標(biāo)識符<2>通過文件的標(biāo)識符 來確認(rèn) 要在導(dǎo)航視圖中 顯示的 模板(視圖)<3>可以重復(fù) 如果重復(fù)就是還在這個(gè)頁面打開 一般用于 訪問下一級頁面)<1>templateUrl:"templates/home.html"<2>controller:"homeController" ?????注意名字不要寫錯(cuò)
三.子視圖的二級頁面:
1.state("tab.homeDetail")
1)路由區(qū)域的名字
2)這個(gè)區(qū)域的名字 是唯一的??
2.url:"/home/:newsID"
1)?????注意:如果是某一個(gè)視圖的二級頁面 需要填上級頁面的url拼接上跳轉(zhuǎn)的參數(shù)
2)在當(dāng)前頁面 打開另外一個(gè)頁面
3.views:{}
1)"tab-home"
?<1>要打開哪一個(gè)文件的名字
<2>?????這個(gè)名字是他上一頁面的名字
2)templateUrl:"templates/homeDetail.html"
3)controller:"homeDetailController"
四.默認(rèn)開始頁面:
$urlRouterProvider.otherwise("/tab/home");
Factory部分:
一:寫公共數(shù)據(jù) 公共方法的位置 可以被全局訪問
二:factory("News")
1.它是標(biāo)識Factory名字 與標(biāo)識controller的名字類似
2.是通過名字來找到 對應(yīng)的Factory
3.可以通過得到的Factory名字來查找到他里面的內(nèi)容
三:獲取Factory里面的內(nèi)容->return{}
控制器部分:
一.控制器的聲明周期
1.控制器并不是一直不被銷毀的
2.當(dāng)不再使用的時(shí)候? 就會被自動(dòng)銷毀
3.它里面的數(shù)據(jù)也就跟隨一起消失
4.盡量不要再里面寫邏輯
二.controller("homeController")
1.控制器的名字
2.名字也不要重復(fù)
三.服務(wù)
1.$scope:
1)可以綁定控制器中的數(shù)據(jù)
2)只能在當(dāng)前控制器使用
2.$rootScope:
1)可以綁定控制器中的數(shù)據(jù)
2)全部控制器 都可以訪問到
3.$stateParams
1)可以通過這個(gè)服務(wù)獲得到對應(yīng)變量的值
4.自定義的服務(wù)
1)通過服務(wù)名 獲得到服務(wù)中的內(nèi)容
視圖部分:
一:分欄部分(tabs)
1.分欄的最外層 在他的里面會存在幾個(gè)分欄 盡量不要寫超過5個(gè)tab
2.分欄中其中一個(gè)選項(xiàng)(ui-sref="tab.home)指向咱們的視圖 這樣 在切換視圖的時(shí)候? 標(biāo)題會跟隨著去切換
1)《name》與路由中的《views》的名字 要匹配,表示導(dǎo)航視圖中 展示的視圖 是哪個(gè)
二:子視圖部分:
1.導(dǎo)航的標(biāo)題
2.如果有下一屆頁面 需要添加:href="#/tab/home/{{news.id}}"
1)是在當(dāng)前頁面打開一個(gè)視圖
2)href的格式要與路由中的格式相同(url:"/home/:newsID")
3)newsID是一個(gè)形參 參數(shù)
4)在控制器中搜索的《newsID》($stateParams.newsID)就是上面那個(gè)形參
以上是課上幫學(xué)生記得筆記,未經(jīng)過整理,大家可以先參考下