摘要:關于應用程序的行為類似于狀態機。將應用程序的每個功能視為一組狀態。當嵌套狀態處于活動狀態時,該片段將附加到瀏覽器中父狀態的。父狀態可用于限制對整個子狀態樹的訪問,但本身不提供任何。如果方案返回,則轉換將暫停,直到解決狀態頂級狀態嵌套狀態
關于state
UI-Router應用程序的行為類似于狀態機。
將應用程序的每個功能視為一組狀態。一次只能有一個狀態為活動狀態。用戶可以從一種狀態轉換到另一種狀態,以激活應用程序的不同功能。
UI路由器狀態UI-Router應用程序的基本構建塊是UI-Router狀態。
UI-Router狀態通常對應于應用程序中的整個UI和導航的特征(或位置)。state一些例子可能是dashboard,messages,shoppingcart,或blogentry。
狀態是一個具有特定屬性的JavaScript對象。這些屬性定義了該狀態處于活動狀態時應用程序的功能。
狀態的屬性 name
state的名稱,提供了一種參考state的方
views
視圖,用戶界面的外觀和行為如何
url
瀏覽器的URL將會是什么
params
該state要求的參數值(如blog-post-id)
resolve
狀態所需的實際數據(通常使用參數值從后端異步獲取)
UI-Router狀態是分層的;UI-Router狀態可以互相嵌套,形成一棵state樹。
子狀態可以繼承其父狀態的數據和行為(例如認證),它們在父狀態的UI內被渲染呈現。
UI-Router以應用程序作為狀態樹的方法鼓勵您將應用程序視為功能層次結構。樹定義了應用程序的功能結構。URL和視圖(即,DOM中組件的渲染樹)是活動狀態的工件。
url可選的。狀態的URL實際上是一個URL片段。每個狀態只定義它“擁有”的URL的片段(部分)。當嵌套狀態處于活動狀態時,該片段將附加到瀏覽器URL中父狀態的url。
視圖可選的。您可能會創建父狀態,僅用于將數據或行為添加到應用程序分支。
例如,您可以創建一個名為狀態admin,然后為您的應用中的每個管理功能創建子狀態。父admin狀態可用于限制對整個子狀態樹的訪問,但本身不提供任何UI。
在激活每個嵌套狀態時,其視圖將被渲染到其父的嵌套視圖uiview中。
多個命名視圖 轉換(transition)描述:更改應用程序狀態的過程稱為轉換。狀態機從一個狀態轉換到另一個狀態。
轉換的生命周期注意:
1. 一次只能運行一個轉換。如果上一次轉換在新轉換開始時仍在運行,則路由器將中止前一轉換。
2. 如果試圖轉換到當前狀態和參數,則路由器將忽略轉換嘗試。這可能發生,例如,當用戶點擊到當前激活狀態的鏈接時。
3. 如果正在運行轉換,并嘗試轉換到相同的目標狀態和參數,則路由器會忽略第二次嘗試。這可能發生,例如,當用戶點擊一個鏈接兩次,但第一個轉換尚未完成。
轉換的鉤子函數每一個生命周期事件都有一個鉤子注冊方法
There is a hook registration method for each lifecycle event:
onBefore, onStart, onExit, onRetain, onEnter, onFinish, onSuccess, and onError
$stateProvider:Because $stateProvider is an Angular Provider, you must inject it into a .config() block using AngularJS Dependency Injection.
myapp.config(function ($stateProvider) { $stateProvider.state({ name: "hello", url: "/hello", component: "hello" }) });resolve
resolve:塊是狀態定義上的一個對象。每個鍵都是要加載的一些數據的名稱,每個值都是一個返回數據承諾的函數。UI-Router會在激活狀態state之前執行resolve.resolve過程是異步的。如果resolve方案返回Promise,則轉換將暫停,直到Promise解決
state狀態:頂級狀態(hello、about、people、person、people2)/嵌套狀態(people2.person)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/93028.html
摘要:回調說白了,就是把函數當參數傳給另一根函數,在另一個函數執行時調用此函數例如,在下面這段代碼中,上面定義了兩個函數和,下面的方法請求成功執行,失敗執行異步異步的原理我看了網上的一些博客和例子,大都以定時任務為例子說明,但具體的原理我還是不太 回調 說白了,就是把函數當參數傳給另一根函數,在另一個函數執行時調用此函數例如,在下面這段代碼中,上面定義了兩個函數success和error,下...
摘要:回調說白了,就是把函數當參數傳給另一根函數,在另一個函數執行時調用此函數例如,在下面這段代碼中,上面定義了兩個函數和,下面的方法請求成功執行,失敗執行異步異步的原理我看了網上的一些博客和例子,大都以定時任務為例子說明,但具體的原理我還是不太 回調 說白了,就是把函數當參數傳給另一根函數,在另一個函數執行時調用此函數例如,在下面這段代碼中,上面定義了兩個函數success和error,下...
摘要:被認為是為開發者提供的最實用的一個模塊。與集成的服務不同的是,可以將視圖嵌套,因為它基于的是操作狀態而僅非。與傳統做法使用不同的是,在里需要使用服務。當在中處理路由和狀態時,開發者的重心是當前的狀態是什么以及在哪一個頁面里。 初學angularjs,第一個實例是官網的phoneCat,里面路由用的是ngRoute,后來看到別的用ui-router,覺得好奇,ui-route是什么呢?百...
摘要:異步加載各個組件就很有必要。在這里我就以為框架來進行異步加載說明。而為了將服務進行異步加載我們不能用普通的或者。而需要調用或者如果采用進行編譯打包的話就需要的支持,這樣可以對進行拆分打包,達到異步加載的目的。 ui-route相比于angularjs的原生視圖路由更好地支持了路由嵌套,狀態轉移等等。隨著視圖不斷增加,打包的js體積也會越來越大,比如我在應用里面用到了wangeditor...
閱讀 2662·2021-11-23 09:51
閱讀 3253·2021-11-22 14:44
閱讀 4582·2021-11-22 09:34
閱讀 5124·2021-10-08 10:14
閱讀 2437·2021-09-22 15:47
閱讀 3512·2021-09-22 15:40
閱讀 1516·2019-08-30 15:44
閱讀 1626·2019-08-28 18:23