2016-05-19 4 views
0

私は、asp.net Webアプリケーションの空のテンプレートを使用して角型アプリケーションを作成しています。これを使用して空にするとng-appの使用に問題がありますrouteProviderはインスタンス化されませんが、モジュール名にng-app = "myApp"を指定すると、本体の内容が無限ループに繰り返され始めます。 私は基本的な何かが欠けていると確信しているが、この問題は私の狂気 感謝ng-appスクリプトを無限に実行する

を駆動しているここに私のHTMLコード

だこれがメインです

<a href="#/view1">view1</a> 

<div> 
    <div ng-view></div> 
</div> 
<script src="Scripts/angular.js"></script> 
<script src="Scripts/angular-route.js"></script> 
<script src="app.js"></script> 

ここにmyAppコード

(function() { 
    'use strict'; 

    var app = angular.module('myApp', ['ngRoute']); 

    app.config([ 
     '$routeProvider', function ($routeProvider) { 
      $routeProvider.when('/', { 
       templateUrl: 'index.html', 
       controller: 'main' 
      }).when('/view1', { 
       templateUrl: 'view1.html', 
       controller: 'main' 
      }).otherwise({ 
       redirectTo: '/' 
      }); 
     } 
    ]); 

    app.controller('main', function ($scope) { 
     setTimeout(function() { 
      alert("from set"); 
     },10000); 
    }); 
})(); 
+0

無限ループについてあなたが言うことは何も示されていません。問題の原因となっているコードとビューの詳細を表示する。また、ブラウザコンソールのエラーをメモしてください – charlietfl

+0

あなたは無限ループを持っていると言いましたが、どのようにng-appを指定しますか? – mtamma

答えて

3

ここでの問題は、index.htmlng-appにロードする必要があるテンプレートではありません、それは外殻のページであることです。アプリ全体を繰り返し読み込んで、次のようなものを作り出しています。

<a href="#/view1">view1</a> 

<div> 
    <a href="#/view1">view1</a> 

    <div> 
    <a href="#/view1">view1</a> 

    <div> 
     <a href="#/view1">view1</a> 

     <div> 
     //... more and more loaded here 
     </div> 
     <script src="Scripts/angular.js"></script> 
     <script src="Scripts/angular-route.js"></script> 
     <script src="app.js"></script> 
    </div> 
    <script src="Scripts/angular.js"></script> 
    <script src="Scripts/angular-route.js"></script> 
    <script src="app.js"></script> 
    </div> 
    <script src="Scripts/angular.js"></script> 
    <script src="Scripts/angular-route.js"></script> 
    <script src="app.js"></script> 
</div> 
<script src="Scripts/angular.js"></script> 
<script src="Scripts/angular-route.js"></script> 
<script src="app.js"></script> 

...本質的に永遠に。

代わりにルートにテンプレートのみを読み込む必要があります。

+0

本当に助けてくれてありがとう.. –

2

ページを自分自身に読み込むデフォルトルートはありますか?

$routeProvider.when('/', { 
     templateUrl: 'index.html', <----- ??? 
     controller: 'main' 
    }) 
+0

まあまあです。ルートは部分HTMLをロードするだけです。すでにロードされているメインhtmlをロードすると、無限の再帰的ループが発生するためです。驚いたことに、内側のng-viewは無視されません – Spidy

+0

皆さんありがとうございました。問題は解決しました.Uは私に多くの手助けをしました。 –

+0

@ahmedGomaa同様の問題を抱えている人を助けるために、それ以外の場合は、問題をどのように修正したかを記述してください。 –

関連する問題