詳解AngularJS跨頁面?zhèn)髦担╱i-router)
博主用的ionic 這里使用ui-router傳值,用來在跳轉(zhuǎn)頁面的同時帶著你想帶走的東西一起跳走
(PS:博主半路出家,尚是菜鳥,寫的東西自己跑起來并沒有什么問題但不敢保證寫的一定對,語言也很隨意,僅供參考。另,期待各位前輩的指教)
博主用的ionic
這里使用ui-router傳值,用來在跳轉(zhuǎn)頁面的同時帶著你想帶走的東西一起跳走
需求是這樣的,我有一個商品單子(概覽頁),點一個商品就可以去看它的詳情(詳情頁)
要解決的問題就是把概覽頁被點擊的商品的id傳給詳情頁,詳情頁拿著這個id給后臺,后臺返回對應(yīng)的需要的json
下面開始實現(xiàn)
.controller('CafeCtrl', function($scope, cafeData, $state) { //往外傳值的controller里加一個$state $scope.cafeList = cafeData.All(); $scope.goDetail = function(id) { $state.go('itemDetail',{sort : "cafe", id : id}); //就拿它傳 }; })
在傳值的一行:
$state.go('itemDetail',{sort : "cafe", id : id}); //前面的是變量名,后邊的是值
我的理解是:塞了兩個變量到一個中轉(zhuǎn)的名叫$stateParams的什么東西里面,controller里面寫法就是這樣子的,頁面上ng-click="goDetail(item.id)"調(diào)用它就可以了
app.js里,接收值的頁面(詳情頁).state這么寫,留兩個位置給剛才傳出來的東西
.state('itemDetail', { url: '/itemDetail/:sort/:id/', //這里就是那兩個要傳的東西,名字要對應(yīng)相同 templateUrl: 'templates/itemDetail.html', controller: 'ItemDetailCtrl' })
然后再去接收值的頁面(詳情頁)接收這倆值存?zhèn)z對象里面(接受并存下了傳來的兩個值)
.controller('ItemDetailCtrl', function($scope, $stateParams, $state) { //加個$stateParams $scope.sort = $stateParams.sort; $scope.itemId = $stateParams.id; })
在上面加個$stateParams,然后下面scope一個對象,把你要的值從$stateParams里面拿點兒出來賦值給它就ok了
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Angular中通過$location獲取地址欄的參數(shù)
這篇文章主要介紹了詳解 Angular中通過$location獲取地址欄的參數(shù),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08AngularJS的ng-repeat指令與scope繼承關(guān)系實例詳解
這篇文章主要介紹了AngularJS的ng-repeat指令與scope繼承關(guān)系,結(jié)合實例形式通過ng-repeat指令詳細(xì)分析了scope繼承關(guān)系,需要的朋友可以參考下2017-01-01AngularJs Dependency Injection(DI,依賴注入)
本文主要介紹AngularJs Dependency Injection,這里整理了詳細(xì)資料及示例代碼有興趣的小伙伴可以參考下2016-09-09AngularJs 利用百度地圖API 定位當(dāng)前位置 獲取地址信息
本文主要介紹了AngularJs 利用百度地圖API 定位當(dāng)前位置 獲取地址信息的方法步驟。具有一定的參考價值,下面跟著小編一起來看下吧2017-01-01Angular.js中ng-if、ng-show和ng-hide的區(qū)別介紹
angularJS中的ng-show、ng-hide、ng-if指令都可以用來控制dom元素的顯示或隱藏。那么這篇文章就給大家主要介紹了Angular.js中ng-if、ng-show和ng-hide的區(qū)別,需要的朋友可以參考借鑒,下面來一起看看吧。2017-01-01