2015-11-24 121 views
0

我試圖用自定義消息加載視圖。所以這裏是場景以角度將數據從一個視圖傳遞到另一個視圖

讓我說我在索引,我要導航到index2.html。

Index2.html將呈現傳遞給它的自定義消息。一種方式肯定是$ routeParams做到這一點,但我不如何通過URL傳遞信息,而我希望它在傳遞的數據是不是在URL暴露郵政格式

而且我不不想使用本地存儲,會話或cookie。 我希望以某種方式將數據傳遞給視圖並將其呈現。

如果任何人都可以幫我這個

+0

您可以通過本地存儲,會話或cookie –

+0

有沒有辦法不使用會話,localstorage或cookie,因爲我想通過數據 – Sadique

+0

從我的角度來看,您可以通過發送數據服務器通過後,並呈現到下一頁 –

回答

4

- 在頁面之間共享數據的正確方法是工廠/服務。

在這個例子中,我將向您展示如何在兩個控制器之間共享數據,但它是一回事。一旦你調用服務,你可以訪問他的實例和他的數據。

var myApp = angular.module('myApp', []); 
 
    
 
myApp.factory('shareService', function(){ 
 
    return { 
 
     title: "some title" 
 
    }; 
 
}); 
 

 
myApp.controller('controller1', function($scope, shareService){  
 
    var ctrl1 = this; 
 
    ctrl1.title = shareService.title; 
 
}); 
 

 
myApp.controller('controller2', function($scope, shareService){ 
 
    var ctrl2 = this; 
 
    ctrl2.title = shareService.title; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp"> 
 
    <div ng-controller="controller1 as ctrl1"> 
 
     {{ctrl1.title}}   
 
    </div> 
 
    <div ng-controller="controller2 as ctrl2"> 
 
     {{ctrl2.title}} 
 
    </div>  
 
</div> 
 

瞭解更多關於服務上AngularJs doc



UPDATE

路由和共享數據的工作示例on plunkr

+0

這裏工廠數據將在導航到另一個頁面時重置。 –

+0

@AbbasGaliyakot它將工作導航也因爲角框架。查看我的答案更新。 – Dvir

+0

您已經使用$ routeProvider,它將在索引頁面中注入頁面1和頁面2,這意味着頁面不會被重新加載。如果這是場景,那麼可以通過$ rootscope –

相關問題