我有一个使用布局的MVC网站, 在布局页面中,我使用Angular App,模型和控制器,一切都像它应该的那样,在我的一个页面中(显示在布局中)我想使用另一个Angular App&控制器具有一些非常基本的功能,你可以在这里看到主要的想法: Plunker for example
更多信息:
我引用了布局.js
标记中的两个<head>
文件:
<script src="~/Scripts/AdminVM.js"></script>
<script src="~/Scripts/ShopVM.js"></script>
我的布局页面中使用第一个应用的所有代码都在两个<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}}
我的代码出了什么问题?
答案 0 :(得分:2)
在我的一个页面中(显示在布局中)我想使用另一个Angular App&amp;控制器
angular不支持嵌套的应用程序(因为你在布局页面中包含第一个,第二个嵌套在第一个中)