Javascript AngularJS未在视图中显示数据

Javascript AngularJS未在视图中显示数据,javascript,asp.net,asp.net-mvc,angularjs,Javascript,Asp.net,Asp.net Mvc,Angularjs,我坚持使用视图中的angularjs数据显示 我在角度控制器中得到了正确的数据。但它在HTML中没有绑定 一切都是相互关联的 <div class="well well-sm well-light"> <h4 class="txt-color-blue">Assembly Status <a href="javascript:void(0);" class="pull-right"><i class="fa fa-refresh"&g

我坚持使用视图中的angularjs数据显示

我在角度控制器中得到了正确的数据。但它在HTML中没有绑定

一切都是相互关联的

  <div class="well well-sm well-light">
        <h4 class="txt-color-blue">Assembly Status <a href="javascript:void(0);" class="pull-right"><i class="fa fa-refresh"></i></a></h4>
        <br>
        <div class="custom-scroll table-responsive" style="overflow-y: scroll;">
            <table id="assemblystatustbl" class="table table-bordered">
                <thead>
                    <tr>
                        <th><i class="glyphicon glyphicon-bullhorn"></i>Status Name</th>
                        <th>#Assembly</th>
                    </tr>
                </thead>
                <tbody>
                    <tr ng-repeat="val in Summary">
                        <td>{{ val.Description }}</td>

                        <td>{{ val.AssemblyCount }}</td>
                    </tr>
                </tbody>
            </table>

        </div>

    </div>
路由配置文件

   .when('/DashBoard', {
             templateUrl: '/DashBoard',
             controller: 'DashBoardController'
         })
加载部分视图

 $('.clk-Menu').on('click', function (event, param) {

            var link = '/DashBoard'


            $.ajax({
                url: link,
                type: 'POST',
                success: function (data) {
                    $('#content').animate({ 'margin-left': '0px' }, 400, 'easeOutQuint');
                    $('body,html').scrollTop(0);

                    $('#content').html(data);
                },
                error: function (data, request) {

                }
            });
        });

您可能忘记了在模块初始化中包含依赖项,表示您想要一个新的CalcRouteModule,您可以这样做:

angular.module('CalcQouteModule', [])
此代码:angular.module'CalcRouteModule'将实际尝试解析名为'CalcRouteModule'的现有模块。如果没有,它就会失败

从角度看:

请注意,使用angular.module'myModule',[]将创建模块myModule并覆盖任何名为myModule的现有模块。使用angular.module'myModule'检索现有模块

这是您的代码:

更新: 您的DashboardsController.activate方法从未执行。你可以用几种方法来做。这两个选项的工作示例如下

捷径 在ajax回调中:

$.ajax({
    url: link,
    type: 'POST',
    success: function (data) {
        // your code...
        $('#content').html(data);
        angular.element('#assemblystatustbl').scope().activate();
    },
    error: function (data, request) { /* ... */ }
});
角度法 用于动画的和:

<a href='#' ng-click='activate()' ng-show='animate-slide'>Dashboard</a>
或者,如果您的html很小或是静态的,则在Razor视图中预先呈现如下模板:

<script type="text/ng-template" id="@Url.Action("Dashboard")">
    @Html.Action("Dashboard")
</script>
请先分配上面的激活功能,然后调用下面的功能

此外,还需要对控制器分配方法进行一些更改

(function () {
    'use strict';

    var controllerId = 'DashBoardController';

    // TODO: replace app with your module name
    angular.module('CalcQouteModule',[]).controller(controllerId,
       ['$scope', '$modal', '$routeParams', '$http', '$route', '$timeout', 'DashBoardFactory']).controller(["$scope", "$modal", "$routeParams", "$http", "$route",
       "$timeout", "DashBoardFactory", function ($scope, $modal, $routeParams, $http, $route, $timeout, DashBoardFactory) {
           $scope.title = 'DashBoardController';
           $scope.activate = activate;
           $scope.Summary = [];

           function activate() {
               DashBoardFactory.getSummary()
                   .then(
                   function (data) {
                       console.log(data.data);
                       $scope.Summary = data.data.collection;
                       //angular.copy(data.data.collection, $scope.Summary);
                   }, function (e) { alert(e.stautsText); });
           }
           activate();

       }])
});    
变化如下:- angular.module'CalcRouteModule',[]..>您错过了[]。模型上应该需要它

a如果您使用了rout配置,那么您应该在该模型中包含ngRoute。版本定义

角度。模块“CalcRouteModule”,[]控制器控制器ID。我用正确的方式写了这个代码,请看一下

我已经打电话激活;函数在该函数下面

您应该在html页面中调用js文件


请同时附上您的JS和完整的html:有人能帮忙吗你的ng应用程序在哪里?没有任何控制台错误:我仍然认为问题出在模块初始化中,否则这会很神奇:当在单页中单独运行时,我的代码工作正常,但问题是,当我在部分视图中使用此html时,你也可以发布代码吗?加载部分的代码您的脚本在ajax中吗?收到回复后,您是否会呼叫activate?当您通过ajax获取js代码时,任何js代码都不会执行,除非它是jsonp。@Aniket更新了答案,看看这是否是您所需要的当我单击第一个数据时,正确的mvc控制器调用正确的数据和视图,但当第二次单击时,视图未显示。为什么使用.clk菜单。单击??你能用ng点击吗???请参阅有多个菜单链接,其中包含class clk menu。单击菜单上的关联项即可显示。在此场景中,将显示仪表板
<script type="text/ng-template" id="@Url.Action("Dashboard")">
    @Html.Action("Dashboard")
</script>
function DashBoardController($scope, DashBoardFactory) {

  $scope.title = 'DashBoardController';
  $scope.activate = activate;
  $scope.Summary = []; 

  function activate() {
    DashBoardFactory.getSummary()
      .then(
        function(data) {
          console.log(data.data);
          $scope.Summary = data.data.collection;
          //angular.copy(data.data.collection, $scope.Summary);
        }, function(e) {
          alert(e.stautsText);
        });
  }
 **activate();**
}
(function () {
    'use strict';

    var controllerId = 'DashBoardController';

    // TODO: replace app with your module name
    angular.module('CalcQouteModule',[]).controller(controllerId,
       ['$scope', '$modal', '$routeParams', '$http', '$route', '$timeout', 'DashBoardFactory']).controller(["$scope", "$modal", "$routeParams", "$http", "$route",
       "$timeout", "DashBoardFactory", function ($scope, $modal, $routeParams, $http, $route, $timeout, DashBoardFactory) {
           $scope.title = 'DashBoardController';
           $scope.activate = activate;
           $scope.Summary = [];

           function activate() {
               DashBoardFactory.getSummary()
                   .then(
                   function (data) {
                       console.log(data.data);
                       $scope.Summary = data.data.collection;
                       //angular.copy(data.data.collection, $scope.Summary);
                   }, function (e) { alert(e.stautsText); });
           }
           activate();

       }])
});