2016-08-14 1 views
0

初めてAngular SPAを動作させるために取り組んでいます。そして、いくつかの問題にぶつかる。 ng-viewを正しくレンダリングまたはルーティングすることができないようです。どちらかを解析することができないようですng-viewng-Viewはシングルページアプリケーションでは機能しません

ファイル構造

enter image description here

mainController.js

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

propManApp.config(function ($routeProvider){ 
$routeProvider 
.when('/', { 
    templateUrl : '../public/main.html', 
    controller : 'mainController' 
}) 

.when('/about', { 
    templateUrl : '../public/about.html', 
    controller : 'aboutController' 
}) 

.when('#/contactUs', { 
    templateUrl : '../public/contactUs.html', 
    controller : 'contactUsController' 
}) 

.otherwise({redirectTo : 'index.html'}); 
}); 



propManApp.controller('mainController',['$scope', '$log', 
function($scope, $log){ 
$scope.message = "Message Here!!!!!!"; 
}]); 

propManApp.controller('aboutController',['$scope', '$log', 
function($scope, $log){ 
$scope.aboutMessage = "About Message Here!!!!!!"; 
console.$log("Test"); 
}]); 


propManApp.controller('contactUsController',['$scope', '$log', 
function($scope, $log){ 
$scope.contactMessage = "Contact Message Here!!!!!!"; 
}]); 

index.htmlを

<!DOCTYPE html> 
<html lang="en"> 
<head ng-app="propManApp"> 
    <title>Rental Properties</title> 
<!-- angular/ --> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"> </script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.7/angular-route.min.js"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js">  </script> 
<!-- bootstrap --> 
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> 
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> 

</head> 
<body> 

<nav class="navbar navbar-inverse navbar-static-top"> 
<div class="container-fluid"> 
<!-- Logo --> 
    <div class="navbar-header"> 
     <button type="button" class="navbar-toggle" data-  toggle="collapse" data-target="#mainNavBar"> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
     </button> 
      <a href="#" class="navbar-brand">Rental PROPERTIES</a> 
    </div> 

    <!-- Menu Items --> 
    <div class="collapse navbar-collapse" id="mainNavBar"> 
     <ul class="nav navbar-nav"> 
      <li class="active"><a href="#">Home</a></li> 
      <li><a href="#/about">About</a></li> 
      <li><a href="#/contact">Contact</a></li> 
     </ul> 
    </div> 

</div> 
</nav> 

<div class="container"> 
    <div ng-view></div> 
</div> 
</body> 

main.htmlと

<h1>{{message}}</h1> Main 

about.html

<h1>{{aboutMessage}}</h1> About 

ブラウザインスペクタ:

enter image description here

+0

エラーメッセージをお読みになりましたか?それはあなたの問題が何であるかを明確に説明します。 – dfsq

+0

'ng-app'を' head'タグから 'body'タグに移動してみてください。 –

答えて

1

は、HTMLタグを先頭にNG-appタグを設定していません。これは、あなたのアプリがheadタグだけを中心に回転し、ng-viewが使われているbodyタグを含んでいないことを意味します。あなたのindex.htmlこのような

<html lang="en" ng-app="propManApp"> 
<head > 
    <title>Rental Properties</title> 
<!-- angular/ --> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"> </script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.7/angular-route.min.js"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js">  </script> 
<!-- bootstrap --> 
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> 
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> 

</head> 

変更それがでそう

また、mainController.jsは含まれていません。 jqueryファイルの後にindex.htmlに含めます。

+0

HTMLと同じ問題に変更されました。 ng-routeを正しくロードしているかどうかは不明です。私が見たことから、私はこれが私の最初の角度アプリです。 – Redmoomba

+0

クラップス。私はそれを完全に逃した。 mainController.jsは含まれていません。 jqueryファイルの後にindex.htmlに含めます –

+0

私の答えも編集 –

関連する問題