在我的應用程序中設置ngRoute會產生問題。許多視圖中使用的控制器都依賴於從ASP.NET控制器中的數據庫獲取的腳本。這裏有一個例子:ngRoute控制器在ASP.NET MVC中形成局部視圖
角應用
var app = angular.module("app", ["ngRoute"])
.config(["$routeProvider", "$locationProvider", function($routeProvider, $locationProvider) {
$routeProvider
.when("/Template/:id", {
templateUrl: function(arg) { return "/User/Template/Details/" + arg.id },
controller: "FormController"
});
$locationProvider.html5Mode(false).hashPrefix("!");
}]);
Razor視圖Details.cshtml:
@{
Layout = null;
}
<head>
<script type="text/javascript">
alert('triggered');
angular.module("app").controller("FormController", ["$scope", function ($scope) {
alert("not triggered");
$scope.xyz = 1;
}]);
</script>
</head>
<div id="template-details" class="col-xs-12" ng-controller="FormController" ng-cloak>
<span>{{xyz}}</span>
</div>
它加載的看法就好了,只是它不啓動控制器(與ViewBag代碼)。腳本塊執行得很好(用第一個alert()進行測試)。
檢查瀏覽器控制檯是否有任何錯誤。 – Zaki
它說FormController不是一個函數,並得到undefined –