亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:170日期: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
相關文章:
主站蜘蛛池模板: 青青草国产三级精品三级 | 亚洲精品色一区色二区色三区 | 欧美成人免费高清视频 | 中国内地毛片免费高清 | 成人精品一区二区久久久 | 国产精品久久久久久久久久免费 | 日韩在线一区高清在线 | 成人精品国产亚洲 | 黄 色 成 年人在线 黄 色 成 年人网站 | 九九亚洲综合精品自拍 | 玖玖国产精品视频 | 成人欧美一区二区三区视频不卡 | 欧美黑人成人www在线观看 | 偷窥第一页 | 97国产大学生情侣11在线视频 | 美日韩在线视频 | 欧美一区亚洲二区 | 国内精品一级毛片免费看 | 一级黄色毛片播放 | 免费观看黄色毛片 | 中文字幕精品视频 | 成人国内精品久久久久影 | 亚洲欧美日韩国产综合久 | 久久精品国产免费观看99 | 成人午夜影院 | 1000部啪啪未满十八勿入福利 | 99色在线播放 | 成年大片免费高清在线看黄 | 爱久久久国产精品 | 国内性视频 | 久久免费精品国产72精品剧情 | 在线观看免费av网 | 成人在线免费视频观看 | 成年美女毛片黄网站色奶头大全 | 韩国黄色一级 | 国产精品400部自产在线观看 | 日本精品久久久中文字幕 | 久久本道综合色狠狠五月 | 亚洲九九夜夜 | 亚洲国产精品久久久久久网站 | xxx国产精品视频 |