Javascript Can';不要让Angular应用程序在MVC布局中工作

Javascript Can';不要让Angular应用程序在MVC布局中工作,javascript,asp.net,angularjs,asp.net-mvc,asp.net-mvc-3,Javascript,Asp.net,Angularjs,Asp.net Mvc,Asp.net Mvc 3,我有一个使用布局的MVC站点, 在布局页面中,我使用一个Angular应用程序、模型和控制器,一切都像它应该的那样工作。在我的一个页面(显示在布局中)中,我想使用另一个Angular应用程序和控制器,具有一些真正基本的功能,您可以在这里看到主要思想: 更多信息: 我在布局标记中引用了.js两个文件: <script src="~/Scripts/AdminVM.js"></script> <script src="~/Scripts/ShopVM.js">

我有一个使用布局的MVC站点, 在布局页面中,我使用一个Angular应用程序、模型和控制器,一切都像它应该的那样工作。在我的一个页面(显示在布局中)中,我想使用另一个Angular应用程序和控制器,具有一些真正基本的功能,您可以在这里看到主要思想:

更多信息:

  • 我在布局
    标记中引用了
    .js
    两个文件:

    <script src="~/Scripts/AdminVM.js"></script>
    <script src="~/Scripts/ShopVM.js"></script>
    
    Shop.cshtml(不是布局文件)

    
    
    {{test}}
    我看到的是一个简单的测试:{{test}

    我的代码有什么问题

    在我的一个页面(显示在布局中)中,我想使用另一个Angular应用程序和控制器


    angular不支持嵌套应用程序(因为您在布局页面中包含第一个应用程序,而第二个应用程序嵌套在第一个应用程序中)

    打开浏览器控制台,查看您遇到的错误。你的plunker工作正常。正如我所说,我以非嵌套的方式尝试了它,使用了两个不同的
    div
    标记,每个标记使用不同的应用程序。即使你这样做,angular将只初始化第一个ng应用程序,它也不会运行第二个。因此,我使用了两个应用程序,一个应用程序带有两个控制器,工作方式类似于char。我不知道即使它不是“物理”嵌套的,它仍然被称为嵌套应用。非常感谢。
    var app = angular.module("ShopApp", []);
    app.controller("ShopViewModel", function ($scope, $http) {
        $scope.test = "Test123";
    });
    
    <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>