angular.js 路由及頁面傳參與快取
阿新 • • 發佈:2019-01-01
1、在controller中注入$state
2、語法:$state.Go("目標路由",{},{reload:true})
3、在目標路由(router)中配置cache:false(禁用快取)
所以,整體工作不是很難,無非就是頁面的佈局,不過ionic提供了一套UI,可以很方便的佈局到這個程度。
但是,當我佈局好,介面也連線上以後,測試才發現有些地方有延遲,就像這樣:
這個過程這樣解釋:
- 點選“我的”進入個人中心
- 我沒有登入,展示的是未登入頁面,點選登入
- 進入登入頁面,輸入使用者名稱密碼並登入成功,返回主頁面
- 點選“我的”,顯示的還是未登入頁面!
所以現在問題出來了,在第四步的時候,應該進入的是個人頁面,而非未登入狀態。
html程式碼如下:
- <div class="my_buttons" ng-if="noLogin">
- <div class="row">
- <a ng-href="#/login">登入</a>
- <a ng-href="#/register">註冊</a>
- </div>
- </div>
- <div class="my_photo" ng-if="!noLogin">
- <a ng-href="/#/my/{{user.id}}">
- <div class="login_logo">
- <img src="http://120.24.218.56/static/images/users/{{user.profilePhotoId}}" alt="">
- <p ng-bind="user.username"></p>
- </div>
- </a>
- </div>
先說一下最終的解決方法吧,解決方法就是在路由中,進入該頁面時,禁止頁面快取。程式碼如下:
- //個人中心
- .state('my',{
- url:'/my',
- cache:'false',
- templateUrl:'templates/my.html',
- controller:'MyController'
- })