av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

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

瀏覽:182日期: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')??戳司W上資料這么寫應該無誤,是跟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级 欧美日本韩国一区二区 | 久久se精品一区精品二区 | 成人免费在线观看视频 | 国产91久久久久 | www.日韩 | 完全免费在线视频 | 成人在线视频免费看 | 一区二区三区四区免费在线观看 | 亚洲一区二区三区在线 | 久久成人国产 | 91色视频在线观看 | 久久免费精彩视频 | 久久精品国产99国产精品 | 国产精品精品久久久久久 | 成年网站在线观看 | 在线免费91| 日韩在线精品强乱中文字幕 | 亚洲一区国产精品 | 999久久久久久久 | 久久新视频 | 日韩中文字幕2019 | 久久久精品综合 | a在线免费观看 | 日韩成人在线免费观看 | 亚洲资源在线 | 狠狠色网 | 日韩精品成人 | 黄色网址免费在线观看 | 国产成人免费视频网站高清观看视频 | h在线播放 | 日韩欧美亚洲 | 先锋影音资源网站 | 日韩欧美成人一区二区三区 | 亚洲一区导航 | 欧美黄色网 | 欧美成人一区二免费视频软件 | 亚洲精品一二三区 | 亚洲成人午夜电影 | 国产在线一区二区三区 | 青青草视频免费观看 | 色成人免费网站 |