2016-08-02 19 views
1

私は項目(jsonオブジェクト)をビューに渡してそこにアイテムをバインドする必要があるIonicアプリケーションで作業しています。角度:同じコントローラ内のオブジェクトを別のビューに渡す

Unable to access $scope variable within same controller

AngularJS: Pass an object into a state using ui-router

をしかし、どれも私の場合で働いていないように思える:

は、私はおそらく、同様の質問の多くを介して行ってきました。 (私はitemにアクセスする必要がある)posts.htmlページの

<div class="list card slide-in" ng-repeat="item in posts track by $index"> 
    <h2 ng-bind="item.title" class="assertive"></h2> 
    //comes inside ng-repeat loop; I'm passing the whole json object as parameter to next view 
    <button class="button button-full" ng-click="getPostDetail(item);"> Read More </button> 
</div> 

HTMLマークアップ:

<ion-view view-title="Read More "> 
    <ion-content class="card-background-page "> 
     <div class="list padding-20"> 
      <h2 ng-bind="selectedPost.title" class="assertive"></h2> 
     </div> 
    </ion-content> 
</ion-view> 

ここ

は(私は itemを渡しているところから) index.htmlページの私のHTMLマークアップです私の設定:

app.config(function ($stateProvider, $urlRouterProvider, localStorageServiceProvider) { 
$stateProvider 
.state('tabs.posts', { 
    url: "/posts", 
    params: { 
     obj: null // as per other suggestion, added a param here 
    }, 
    views: { 
     'home-tab': { 
      templateUrl: "templates/post.html", 
      controller: 'main' 
     } 
    } 
}) 

私のコントローラ:私は$scope上にあるように、selectedPostニーズに何かが欠けている場合を除き、ボタンのクリックで、記事ビューロードに成功したが、何のコンテンツは、すなわちビューバインドされていない

app.controller('main', function ($scope, $http, $state, $ionicModal, $location, $stateParams, localStorageService) { 
    $scope.getPostDetail = function (data) { 
     var selectedPost = data; 
     $state.go("tabs.posts", { obj: selectedPost }); 
    } 

}) 

答えて

0

空白になっています。それ以外の場合は、ビューからはアクセスできません。そうですね。

$scope.getPostDetail = function (data) { 
     $scope.selectedPost = data; 
     $state.go("tabs.posts", { obj: selectedPost }); 
    } 
+0

私はすでに '$ scope.selectedPost'に渡してみました(両方のビューが同じコントローラを共有していても)、同じ出力を与えます。 – Cyberpks

関連する問題