# AngularJS路由問題解決
遇到了一個棘手的問題:點擊優惠詳情時總是跳轉到藥店詳情頁面中去。再加一層地址解決了,但是后來發現問題還是來了:
Could?not?resolve?'yhDtlMaintain/yhdetail'?from?state?'yhMaintain'
藥店詳情[http://192.168.1.118:8088/lmapp/index.html#/0](http://192.168.1.118:8088/lmapp/index.html#/0)
優惠券詳情[http://192.168.1.118:8088/lmapp/index.html#/0](http://192.168.1.118:8088/lmapp/index.html#/0)
優惠活動詳情
[http://192.168.1.118:8088/lmapp/index.html#/index/0](http://192.168.1.118:8088/lmapp/index.html#/index/0)
經過url的對比,自己發現了問題。其中藥店詳情和優惠券詳情的url是相同的。而之前自己在優惠活動詳情中改動了一下,結果正常顯示。然后自己接著查看優惠活動的修改地方,發現:
/*--------------------------優惠活動詳情維護--------------------------*/
~~~
???.state('yhhdDtlMaintain',?{
???????url:?'/index/{yhid}',
???????views:?{?//注意這里的寫法,當一個頁面上帶有多個ui-view的時候如何進行命名和視圖模板的加載動作
????????????'':?{
???????????????templateUrl:?'rightInfoList.html'
???????????????},
????????????'sys_banner@yhhdDtlMaintain':?{
???????????????templateUrl:?'sys_banner.html'
???????????????},
?????????????'rightContent@yhhdDtlMaintain':?{
???????????????templateUrl:?function($stateParams){
???????????????console.log("YHID:");
???????????????console.log($stateParams);
???????????????return?'yh_set_dtl.html';
????????????????}?
??????????????}
???????????}
????})?
~~~
玄機藏在url中,其實這個url是在瀏覽器中訪問的url,基于用戶瀏覽該應用所在的狀態。同理,自己修改了優惠券詳情的路由,如下:
/*-----------------------------優惠券詳情維護-----------------------------*/
~~~
??.state('yhqDtlMaintain',?{
?????url:?'/yhqIndex/{yhid}',
?????views:?{?//注意這里的寫法,當一個頁面上帶有多個ui-view的時候如何進行命名和視圖模板的加載動作
?????????'':?{
?????????????templateUrl:?'rightInfoList.html'
?????????????},
?????????'sys_banner@yhqDtlMaintain':?{
??????????????templateUrl:?'sys_banner.html'
?????????????},
?????????'rightContent@yhqDtlMaintain':?{
??????????????templateUrl:?function($stateParams){
??????????????console.log("YHQID:");
??????????????console.log($stateParams);
??????????????return?'yh_set_dtl.html';
??????????????}?
???????????}
????????}
?})??
~~~
這樣所有的問題就迎刃而解了。但自己還是需要深入理解一下相關原理。若之前不做修改的話,優惠券詳情的url就會與藥店詳情相同,藥店詳情頁面覆蓋了優惠券詳情頁面。
?
?
?
- 前言
- (一)深入理解ANGULARUI路由_UI-ROUTER
- (二)AngularJS路由問題解決
- (四)ANGULAR.JS實現下拉菜單單選
- (五)Angular實現下拉菜單多選
- (六)AngularJS+BootStrap實現彈出對話框
- (七)實現根據不同條件顯示不同控件
- (十)AngularJS改變元素顯示狀態
- (十四)AngularJS靈異代碼事件
- (十七)在AngularJS應用中實現微信認證授權遇到的坑
- (十八)在AngularJS應用中集成科大訊飛語音輸入功能
- (十九)在AngularJS應用中集成百度地圖實現定位功能
- (二十一)Angularjs中scope與rootscope區別及聯系
- (二十三)ANGULAR三宗罪之版本陷阱
- (二十四)AngularJS與單選框及多選框的雙向動態綁定
- (二十五)JS實現導入文件功能
- (二十七)實現二維碼信息的集成思路
- (二十八)解決AngualrJS頁面刷新導致異常顯示問題
- (二十九)AngularJS項目開發技巧之localStorage存儲
- (三十)AngularJS項目開發技巧之圖片預加載
- (三十一)AngularJS項目開發技巧之獲取模態對話框中的組件ID
- (三十二)書海拾貝之特殊的ng-src和ng-href
- (三十三)書海拾貝之簡介AngularJS中使用factory和service的方法
- (三十四)Angular數據更新不及時問題探討
- (三十六)AngularJS項目開發技巧之利用Service&Promise&Resolve解決圖片預加載問題(后記)