我利用Angular中broadcast和on實現(xiàn)頁面跳轉(zhuǎn)并且傳遞數(shù)據(jù),但是跳轉(zhuǎn)后收不到數(shù)據(jù)(再次點擊按鈕才會顯示)具體要求:點擊第一個頁面的按鈕,傳遞一個數(shù)組(如下圖中的shopList數(shù)組)到第二個頁面,使得第二個頁面能夠接收到shopList數(shù)組第一個頁面<a ui-sref="app.checkOut" ng-click="checkoutShop(shopList)"><b>結(jié)算</b></a>對應(yīng)的controller(是主控制器-父級)$rootScope.checkoutShop=function(shop){
var shop_list_data = shop;
console.log(shop_list_data);
$rootScope.$broadcast('to_checkout', shop_list_data);
};第二個頁面的controller(是主控制器下的子集)$scope.$on('to_checkout', function(event,data) {
console.log(data);
});但是測試后發(fā)現(xiàn)第二個頁面的console.log(data)打印失敗,但是再次點擊又會成功,是路由的問題嗎?具體如下:主頁面如下,購物車是隱藏在側(cè)面的,點擊導航欄中的購物車,右側(cè)會出現(xiàn)購物車剛開始:點擊按鈕后,傳遞數(shù)組并且跳轉(zhuǎn)到另外一個頁面,但是并沒有打印這個數(shù)組:再次點擊“結(jié)算”按鈕,就會打印了:請問這是什么原因?該如何解決呢?
Angular利用 broadcast和 on實現(xiàn)頁面跳轉(zhuǎn)并且傳遞數(shù)據(jù) 但是跳轉(zhuǎn)后收不到數(shù)據(jù)
郎朗坤
2018-11-15 14:15:41