国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

javascript - 為什么我無法通過$stateParams在父子State之間傳遞參數?跟State之間的父子關系有關嗎?

瀏覽:181日期:2024-03-07 18:45:39

問題描述

路由設置(兩個State之間有父子關系):

.state('tab.my-profile', { url: '/my/profile', views: { 'tab-my': { templateUrl: 'templates/tab-my-profile.html', controller: 'MyProfileCtrl' } }}) .state('tab.my-profile-mobileinput', { url: '/my/profile/mobileinput', views: { 'tab-my': {params: {'mobile': null}templateUrl: 'templates/util-mobile-input.html',controller: 'MobileInputCtrl', } } })

2.父State的控制器中的代碼:

.controller('MyProfileCtrl', function ($scope, $state) { $scope.goToMobileInput = function () { $state.go('tab.my-profile-mobileinput', {'mobile': '123456'}) };})

3.子State的控制器中的代碼:

.controller('MobileInputCtrl', function ($scope, $stateParams) { alert($stateParams.mobile); // undefined})

能夠跳轉到子State,但在子State的控制器中無法接收到參數(訪問參數時得到的結果是undefined,而非'123456')。看了網上資料這么寫應該無誤,是跟State之間的父子關系有關嗎?

問題解答

回答1:

你的router定義的有問題,params需要和url, views在同一級,views正如字面意思那樣,是指定ui的,你在其中指定了params就有問題了,需要改成如下這樣:

.state('tab.my-profile-mobileinput', { url: '/my/profile/mobileinput', params: {'mobile': null}, views: { 'tab-my': {templateUrl: 'templates/util-mobile-input.html',controller: 'MobileInputCtrl' } } })回答2:

$broadcast,我記得這種應該采用事件廣播,可以將事件從父級作用域傳播至子級作用域,你可以百度一下相關內容,應該能夠解決

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 在线私拍国产福利精品 | 男人的亚洲天堂 | 国产一区二区亚洲精品 | 中文字幕成人在线观看 | 欧美精品一区视频 | 成人毛片免费 | 日韩久久一区二区三区 | 亚洲日本高清成人aⅴ片 | 亚洲视频免费在线看 | 久草在线| 91av福利 | 99久久精品国产片 | 欧美一级看片 | 伊人久久影视 | 一本三道a无线码一区v小说 | 久久福利青草精品免费 | 亚洲免费视频在线观看 | 欧美三区 | 亚洲一区中文字幕在线 | 九九手机视频 | 看中国毛片 | m男亚洲一区中文字幕 | 日韩高清在线播放不卡 | 免费国产成人高清无线看软件 | 91成人免费视频 | 最新欧美精品一区二区三区 | 欧洲一级毛片免费 | 日本欧美久久久久免费播放网 | 国产区久久| 亚洲精品久久99久久 | 亚洲免费美女视频 | 老司机精品影院一区二区三区 | 成人禁在线观看午夜亚洲 | 免费无毒| 国产黄色三级三级三级 | 精品亚洲综合久久中文字幕 | 欧美一级爱操视频 | 中文字幕一区二区视频 | 欧美日韩精品一区二区三区视频 | 日本a级片免费看 | 一级毛片在线看 |