2017-05-17 6 views
-5

私は2ページあります。最初はItemMenuPage秒ですCartPageです。アイテム名をクリックするとCartPageに移動する必要がありますが、そのアイテム名を表示する必要がありますCartPage別のページにクリックしたときに名前フィールドを渡す方法

MenuController

.controller('FoodCtrl', function($scope,$state,mySharedService) { 
$scope.addProductItem=function(product){ 
    var itemName=product.itemName; 
    mySharedService.setData(product); 
    $state.go('app.produce'); 
    } 
}); 

CartController

.controller('ProduceSaveController', ['$scope','mySharedService', 
function(scope,mySharedService){ 
scope.$on('handleBroadcast',function(){ 
scope.itemName=mySharedService.itemName; 
}) 

service.js通常

.factory('mySharedService',function($rootScope){ 
var sharedService={}; 
sharedService.itemName=''; 

sharedService.setData=function(product){ 
this.itemName=product; 
this.broadcastItem(); 
}; 
sharedService.broadcastItem=function(){ 
$rootScope.$broadcast('handleBroadcast'); 
}; 
return sharedService; 
}) 

答えて

3

、Yあなたのカートをどこかに保管します。データベース、セッションストレージなど。実際に格納する場所は、そのデータへのインターフェイスが正しい限り、あまり重要ではありません。

angular.module('app') 
.factory('cart', function() 
{ 
    return { 
     addItem: function(item){ 
      // code here to store item 
     }, 
     getItems: function(){ 
      // code to get items - if ajax, probably returns a promise object 
     } 
    }; 
}); 

あなたのitemPageでは、addItemを呼び出します。 カートページでは、getItemsを呼び出します。

angular.module('app') 
.controller('cartController', function($scope, cart){ 
    cart.getItems().then(function(items){ 
     $scope.items = items; 
    }; 
}); 

これ以上の情報がなくても、これは私が与えるほどの助けとなります。コアAngularJSの機能を使用してアプリケーションのモジュール間の通信に

+0

私がこの$ scope.addProductItem =機能(製品){ VAR itemNameに= product.itemNameのように作成された私のために働いていません。 mySharedService.setData(product); $ state.go( 'app.produce'); } – umapathi

+0

完全なコードではありません。選択した保管場所からアイテムを保管して取得するコードを記述する必要があります。 – AndrewR

+0

新しい質問を開始することをお勧めします。これは、この問題が解決し、関連するすべてのコードが含まれているためです。 – AndrewR

0

一般的な方法は次のとおりです。$を使用して、コントローラ間で直接$ rootScope

  • のモデルを割り当てることにより、イベント
  • を使用してサービス
  • を使用して

    • を親、$$ childHead、 $$ nextSiblingなど
    • コントローラ間、ControllerAsまたは他の形式の 継承
  • 関連する問題