色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

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
相關文章:
主站蜘蛛池模板: 91麻精品国产91久久久久 | 爽爽爽爽爽爽爽成人免费观看 | 手机看片精品国产福利盒子 | 美国一级免费 | 成人在线毛片 | 欧美日韩国产亚洲一区二区 | 成年片免费网址网站 | 男操女b | 亚洲欧洲日产国产 最新 | 91黑丝国产线观看免费 | 国产欧美日韩在线观看 | 亚洲碰碰| 久久一级黄色片 | 国产香蕉国产精品偷在线观看 | 特级淫片国产免费高清视频 | 亚洲欧美日韩高清 | 国产高清免费影视在线观看 | 亚洲天堂男人 | 好吊操这里只有精品 | 亚洲精品久久久中文字 | 国产精品videossex另类 | 国产精品久久久天天影视香蕉 | 国产精品久久久久网站 | 亚洲欧美另类日本久久影院 | 免费国产成人α片 | 久久九九视频 | 国产亚洲精品yxsp | 亚洲国产精品自在现线让你爽 | 欧美大片一区 | 狼人久久尹人香蕉尹人 | 亚洲激情黄色 | 欧美日一区| 国产第一夜 | 亚洲无色 | 国产亚洲精品成人a在线 | 成人a视频片在线观看免费 成人a视频在线观看 | 成人国产三级精品 | 国产成年 | 久草网站在线 | 在线观看国产一区 | 永久免费毛片手机版在线看 |