使用ng-view從我的控制器渲染模板時遇到問題。 index.html文件最初提供給客戶端,看起來像。AngularJS v1.3.13 ng-view不觸發控制器渲染模板
<!doctype html>
<html lang="en" ng-app="hlmApp">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title></title>
<link rel="stylesheet" href="@Model.Root.Resource/bower_components\\/bootstrap/dist/css/bootstrap.css">
@RenderSection("BootScript")
<!-- app.js will load the angular module -->
<script src="@Model.Root.Resource/bower_components/angular/angular.js"></script>
<script src="@Model.Root.Resource/bower_components/angular-route/angular-route.js"></script>
<script src="@Model.Root.Resource/app/app.js"></script>
<script src="@Model.Root.Resource/app/controllers/controllers.js"></script>
</head>
<body>
<div class="container">
<div class="navbar">
<div class="navbar-inner">
<ul class="nav">
<li><a href="#/Overview">A link here</a></li>
</ul>
</div>
</div>
<div ng-view></div>
@*<div ng-controller="tempController">{{Heading}}</div>*@
</div>
@RenderBody()
</body>
</html>
服務器將壓縮我的app.js和controllers.js文件以及deps。
/// ap.js ///
var hlmApp = angular.module('hlmApp', ['ngRoute', 'MyTempControllers']);
hlmApp.config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/Holdings', {
templateUrl: 'templates/temp.html',
controller: 'controllers/tempController'
});
}]);
控制器是非常簡單,如下
var MyTempControllers = angular.module('MyTempControllers', []);
MyTempControllers.controller('tempController', ['$scope', function() {
console.log("stuff happening");
$scope.Heading = "Hello World";
}]);
然後將HTML模板如下
<div>
<h3>{{Heading}}</h3>
</div>
當我使用NG-觀點從來都沒有呈現。調試器從不觸發控制器。如果我通過ng控制器專門調出控制器,那麼一切都顯示出來。有人可以在這裏指出我的錯誤嗎?
嘗試將「controllers/tempController」更改爲「tempController」。你爲什麼使用相同的控制器來查看和標題? – nanndoj 2015-02-10 16:37:33
剛剛嘗試過。不工作。控制器和模板各自在'app'的父文件夾中有自己的文件夾 – Mateo 2015-02-10 16:40:37
你能解釋一下你的意思嗎?我通過ng-controller專門調出控制器,然後顯示所有內容*。這是你的HTML'@ *