2016-10-12 12 views
0

私はAngularJSでWebアプリケーションを構築しています。私はui-routerを使用しており、次のような州を定義しています。更新後のAngularJSページの空白

//appContacts.js 
(function() { 
    "use strict"; 
    var app = angular 
     .module('appContacts', ['ui.router', 'angularUtils.directives.dirPagination']) 
     .config(['$stateProvider', '$locationProvider', '$urlRouterProvider', 
         function ($stateProvider, $locationProvider, $urlRouterProvider) { 
          $urlRouterProvider.otherwise("/"); 
          $stateProvider 
           .state("home", { 
            url: "/", 
            templateUrl: "views/contactsView.html", 
            controller: "contactsController", 
            controllerAs: "vm" 
           }) 
           .state("organization", { 
            url: "/organizations/:Id", 
            templateUrl: "views/organizationDetail.html", 
            params: { Id: null }, 
            controller: "organizationsController", 
            controllerAs: "vm" 
           }) 
           .state("contact", { 
            url: "/contact/:Id", 
            templateUrl: "views/contactDetails.html", 
            params: { Id: null }, 
            controller: "contactsDetailController", 
            controllerAs: "vm" 
           }) 

          $locationProvider.html5Mode({ 
           enabled: true, 
           requireBase: false, 
           rewriteLinks: true 
          }); 

          $locationProvider.html5Mode(true); 
         } 
     ]); 
})(); 

HTTPメソッドを使用してデータベースから情報を要求されます。

  1. ページを更新すると、ページが空白になります。私が間違って何をしているのか?
  2. ホーム・ページ・コントローラは、ng-repeatを使用して表に移入するHTTPメソッドを自動的にコールします。つまり、データが保存されていないため、http://localhost:50895/contact/the-idのような別のページに直接アクセスすることはできません。私はいつもホームページを訪れてデータを読み込まなければならない。どのようにすべてのページ/州/コントローラにそのデータを保存して利用可能にすることができますか?

編集:私は、コンソールで4エラーを示している

enter image description here

+0

http://stackoverflow.com/documentation/angularjs/3208/angularjs-gotchas-and-traps/21798/things-to-do-when-using-html5mode#t=201610130617273024935 – Phil

答えて

0
  1. あなたはそれをデバッグし、エラーまたは例外のために、ブラウザのコンソールをチェックしてもらえます?

  2. あなたの周りのデータを渡すことが可能な3つの方法があります。

a)は$ rootScopeを使用しますが、これは適切な符号化規格

bとはみなされません)を使用してくださいAngularJsによって提供される組み込みの.service()は、これがシングルトンオブジェクトであり、最初のコントローラで設定された値がその行の下のどこでも使用できることを意味します。しかし、あなたはpage.Thisを更新する場合は消去されます値は、あなたがデータをすることができ、これを使用して、のlocalStorageまたはのsessionStorageを利用することができます)$ rootScope

Cを使用してよりよいコーディング標準として考えられていますページをリフレッシュした後でも検索されます。データは文字列として格納されるため、解析が必要です。

データを保存するもう1つの方法があります。しかし、これは小さい文字列値を格納するために使用されます。

+0

回答ありがとうございます。私はあなたが要求したときに私がコンソールに持っているエラーを追加して投稿を編集しました。 2.現在、私はあるコントローラーから別のコントローラーにデータを渡すためにサービスを使用していますが、あなたが言うように、ページを更新すると役立たないのです。私はlocalStorageに試してみましょう。 –

+0

ページを更新するとそのページが空白になったと言いましたが、ページをリフレッシュしたときの経路を教えてください。 – siva967

+0

これはeverypage/routeで起こります、私はいつもホームページに行って再度プロセスを再開しなければなりません。 –

関連する問題