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

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

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

瀏覽:128日期: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
相關文章:
主站蜘蛛池模板: 香蕉视频在线精品 | 黄色国产在线观看 | 黄色网址免费观看 | 在线看片成人 | 国产精品二区三区 | 亚洲网红精品大秀在线观看 | 国产成人在线视频免费观看 | 中国一级大片 | 亚洲精品乱无伦码 | 国产99网站 | 亚洲大片 | 黄色片国产 | 欧美做爰gif动态图一区二区 | 2021精品国夜夜天天拍拍 | 大乳一级一区二区三区 | 成人精品免费视频 | 狠狠色丁香婷综合久久 | 国产欧美日韩在线不卡第一页 | 一级毛毛片毛片毛片毛片在线看 | 国产露脸国语对白在线 | 热99re久久精品精品免费 | 国产视频一二区 | 国产在线一区精品对白麻豆 | 日本精品久久久久中文字幕 1 | 欧美日韩亚洲综合久久久 | 免费一级网站 | 国精品在亚洲_欧美 | 欧洲成人全免费视频网站 | 91精品久久一区二区三区 | 国产五月婷婷 | 久久青青操 | 香蕉视频色板 | 国产视频成人 | 国产欧美一区二区三区免费 | 女人aaaaa片一级一毛片 | 国产一级二级三级毛片 | 美国黄色网址 | 美国毛片在线观看 | 欧美日韩综合网 | 久久免费视频7 | 玖玖爱视频在线观看 |