2014-07-20 33 views
0

我一直在努力使ng-view工作,但ng-view不显示任何东西。我有angular.js 1.2x和angular-route.js。花了很多时间让它工作,但无法弄清楚。angularjs路由问题:无法使用ng-view获得路由工作

<!DOCTYPE html> 
<html ng-app="app"> 
<head lang="en"> 
    <meta charset="UTF-8"> 
    <title></title> 
    <script src="angular.js"></script> 
    <script src="angular-route.js"></script> 

    <script> 
     var app = angular.module("app", ['ngRoute']); 

     app.config(function($routeProvider) { 
      $routeProvider 
        .when('/', 
        { 
         templateUrl: "app.html" 
        }) 
        .when('/pizza', { 
         templateUrl: "app.html" 
        }).otherwise({ 
         template: "This doesn't exist!" 
        }) 
     }); 

     app.controller("AppCtrl", function($scope) { 

      $scope.model = { 
       message: "This is my app!!!" 
      } 
     }); 
    </script> 
</head> 
<body> 
<div> 
    <h1>Hello There {{2+2}}</h1> 
    <div ng-view> 

    </div> 
</div> 
</body> 
</html> 

当我查看页面时,它只显示Hi There 4.这表示页面显示并且表达式{{2 + 2}}正在工作。我确实拥有根目录下的所有html文件。

任何想法的家伙????????? 感谢

回答

0

看起来你需要创建一个控制器分配给您的途径,例如:

$routeProvider.when('/', { 
    templateUrl: "app.html", 
    controller: 'RootCtrl', 
}); 

然后建立一个基本的控制器与app.html关联。

+0

没有。控制器不是必需的。 – Sheraz

+1

因为在你不需要他们,或者你还没有尝试? –

0

得到它的工作,但仍然不知道是什么使它的工作。我没有改变任何代码。刚刚启动NodeJs服务器并通过nodejs config的端口进行导航。当它工作时,我停下了服务器,没有它的时候查看,它仍然工作。所以不知道是什么让它工作,但它的工作。我“会当我弄清楚主要原因所有响应更新此。

感谢。

0

Fiured为什么它不工作。好像我在angular.js和angular-之间的冲突route.js。当你在机器上有多个版本时,Ah garra要小心,一旦我将它们替换成相同版本,它就开始工作了,所以没有代码的问题,它只是js文件的不同版本。

0

Angularjs works在SPA,所以你需要单独的索引页,然后其他页面,这是工作plunker

你的代码看起来像这样

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

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