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