0

我正在尝试使用以下教程使用 ng-grid。

http://angular-ui.github.io/ng-grid/

这是我的看法

<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-1.8.2.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/angular.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/angular-resource.js")"></script>
@*<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.min.js"></script>*@
<script type="text/javascript" src="@Url.Content("~/Scripts/ng-grid-2.0.7.min.js")"></script>
<script src="~/Scripts/PostsController.js"></script>
<script src="~/Scripts/postreq.js"></script>
<link rel="stylesheet" type="text/css" href="~/Content/ng-grid.min.css" />
<div data-ng-controller="PostsController">
    <div class="gridStyle" data-ng-grid="gridOptions"></div>
</div>

这是我的角度代码

function PostsController($scope, $http) {
    $http({ method: 'GET', url: '/api/request' }).
        success(function (data, status, headers, config) {
            $scope.posts = data;       

        }).
        error(function (data, status, headers, config) {
            $scope.error = "An Error has occured while loading posts!";
            $scope.loading = false;
        });

    $scope.gridOptions = { data: 'posts' };
}

但是,当我运行应用程序时,我在浏览器中看到空白方块,并且控制台中没有显示错误。请帮我解决这个问题。

仅供参考:我直接在浏览器中检查了 API 响应,它显示了数据。

4

3 回答 3

2

在我看来,您缺少正在遵循的教程的一些步骤:

在声明应用模块的地方,添加 ngGrid: angular.module('myApp',['ngGrid']);

我在任何地方都看不到您的模块声明。

于 2013-11-16T05:25:48.240 回答
0

您是否在页面顶部定义了 ng-app="myApp" ?

我还注意到您没有为“gridStyle”定义的 CSS 类。“gridStyle”不是 ng-grid css 的一部分。

于 2013-11-12T21:13:06.963 回答
0

听起来很奇怪,但这通过使用超时对我有用。试试这样:

setTimeout(function () {
    $http.get('/api/request')
        .success(function (data, status) {
            $scope.posts = data;
        })
        .error(function (data, status) {
            alert(status);
        });
}, 100);
于 2013-11-13T09:04:15.627 回答