我有一个使用布局的MVC网站,
在布局页面中,我使用Angular App,模型和控制器,并且一切工作均按预期进行,在我的一个页面(显示在布局内)中,我想使用另一个具有某些基本功能的Angular App和Controller,您可以在这里看到主要思想:
Plunker for example。
更多信息:
我在布局.js
标记中引用了两个<head>
文件:
<script src="~/Scripts/AdminVM.js"></script>
<script src="~/Scripts/ShopVM.js"></script>
我的布局页面中使用第一个App的所有代码都在两个
<div>
标记之间,第一个标记为ng-app = "FirstApp"
,第二个标记为ng-controller = "FirstController"
。我都尝试过:
将两个带有
<div>
和ng-app = "SecondApp"
的ng-controller = "SecondController"
标记放入我的.cshtml
文件中,并在我的代码之间放入。将这两个
<div>
标签放入布局页面的正文中,并在它们之间推入@RenderBody()
标签。我不知道我在这里做错了什么,即使最简单的事情也不起作用:
ShopVM.js
var app = angular.module("ShopApp", []);
app.controller("ShopViewModel", function ($scope, $http) {
$scope.test = "Test123";
});
Shop.cshtml(不是布局文件)
<div ng-app="ShopApp">
<div ng-controller="ShopViewModel">
<ul class="nav nav-tabs nav-justified">
<li role="presentation" class="active"><a href="#">Home</a></li>
<li role="presentation"><a href="#">Cat1</a></li>
<li role="presentation"><a href="#">Cat2</a></li>
</ul>
<div>{{test}}</div>
<input id="Text1" type="text" ng-model="Shop.Test"/>
</div>
</div>
我看到的是一个简单的测试:{{test}}
我的代码有什么问题?
最佳答案
在我的一个页面(显示在布局内)中,我想使用另一个Angular App&Controller
angular不支持嵌套应用程序(因为您在布局页面中包含了第一个应用程序,因此第二个嵌套在了第一个应用程序内)
关于javascript - 无法使Angular App在MVC布局中工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34712918/