AngularJS如何實現跨頁面傳值
這篇文章主要介紹了AngularJS如何實現跨頁面傳值,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
我們提供的服務有:成都網站制作、成都網站設計、微信公眾號開發、網站優化、網站認證、鹿城ssl等。為近1000家企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的鹿城網站制作公司
用的ionic
這里使用ui-router傳值,用來在跳轉頁面的同時帶著你想帶走的東西一起跳走
需求是這樣的,我有一個商品單子(概覽頁),點一個商品就可以去看它的詳情(詳情頁)
要解決的問題就是把概覽頁被點擊的商品的id傳給詳情頁,詳情頁拿著這個id給后臺,后臺返回對應的需要的json
下面開始實現
.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}); //前面的是變量名,后邊的是值
我的理解是:塞了兩個變量到一個中轉的名叫$stateParams的什么東西里面,controller里面寫法就是這樣子的,頁面上ng-click="goDetail(item.id)"調用它就可以了
app.js里,接收值的頁面(詳情頁).state這么寫,留兩個位置給剛才傳出來的東西
.state('itemDetail', { url: '/itemDetail/:sort/:id/', //這里就是那兩個要傳的東西,名字要對應相同 templateUrl: 'templates/itemDetail.html', controller: 'ItemDetailCtrl' })
然后再去接收值的頁面(詳情頁)接收這倆值存倆對象里面(接受并存下了傳來的兩個值)
.controller('ItemDetailCtrl', function($scope, $stateParams, $state) { //加個$stateParams $scope.sort = $stateParams.sort; $scope.itemId = $stateParams.id; })
在上面加個$stateParams,然后下面scope一個對象,把你要的值從$stateParams里面拿點兒出來賦值給它就ok了
感謝你能夠認真閱讀完這篇文章,希望小編分享的“AngularJS如何實現跨頁面傳值”這篇文章對大家有幫助,同時也希望大家多多支持創新互聯,關注創新互聯行業資訊頻道,更多相關知識等著你來學習!
網頁題目:AngularJS如何實現跨頁面傳值
鏈接分享:http://www.xueling.net.cn/article/ggcedj.html