私はMVCプロジェクトを作成し、AngularJS-Materialと必要なすべてのファイルを追加しました。プロジェクト全体でツールバーを表示できるようにするため、AngularJS Appを_Layout.cshtmlページに配置しました。私は別のコントローラを使用して計画されたが、私は新しいスクリプトファイルでコントローラを参照するとき、私は、コントローラが未定義であるというエラーを取得する各ビューの複数のMVCスクリプトファイルで同じAngularJSコントローラを使用するには?
。
次のコードは正常に動作し、私は、コードの@RenderBody()のセクションで別のビューを追加しようとすると、私が得る唯一の問題があります。それぞれのchstmlファイルで、私は新しいコントローラを定義していますが、同じアプリケーションを保持しています。
<!DOCTYPE html>
<html ng-app="bPST" ng-controller="layoutCtrl">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title - My ASP.NET Application</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
<link href="~/Content/angular-material.min.css" rel="stylesheet" />
<script src="~/Scripts/angular.js"></script>
<script src="~/Scripts/angular-animate.js"></script>
<script src="~/Scripts/angular-aria.js"></script>
<script src="~/Scripts/angular-messages.js"></script>
<script src="~/Scripts/angular-material/angular-material.js"></script>
<script src="~/Ang_Scripts/bpst.js"></script>
</head>
<body>
<div layout="column" layout-fill>
<md-toolbar>
<div class="md-toolbar-tools">
<span>Title </span>
<!-- fill up the space between left and right area -->
<span flex></span>
<md-button ng-click="sideBarFunctions()">Menu</md-button>
</div>
</md-toolbar>
<md-sidenav ng-cloak class="md-sidenav-left md-whitefram-z2" md-component-id="left" md-is-open="sideBarOpen">
<div layout="column" layout-align="space-around stretch">
<md-toolbar>
<h2 style="text-align: center;">Menu</h2>
</md-toolbar>
<md-content layout-padding layout="column" layout-align="start">
</md-content>
</div>
</md-sidenav>
<md-content>
<div class="container body-content">
@RenderBody()
</div>
</md-content>
</div>
<hr />
<footer>
<p>© @DateTime.Now.Year - My ASP.NET Application</p>
</footer>
@Scripts.Render("~/bundles/jquery")
@*@Scripts.Render("~/bundles/bootstrap")*@
@RenderSection("scripts", required: false)
login.js:
var bApp = angular.module('bPST', ['ngMaterial']);
bApp.controller('loginCTRL',function($scope) {
$scope.message = "Login";
});
上記のコードで参照されている 'login.js'が表示されません - それは問題ですか?私はまた、どのようにアプリケーションを構築するつもりか質問します。 "@RenderBody()の別のビューを追加するには、Razorビューについて話していますか?そうであれば、Angularはシングルページアプリケーションで使用される傾向があります。 –