gpt4 book ai didi

javascript - 在 angularjs 应用程序中加载初始数据

转载 作者:可可西里 更新时间:2023-11-01 02:03:11 26 4
gpt4 key购买 nike

我目前正在尝试开发 AngularJS 应用程序。这是我使用 AngularJS 的第一个应用程序,我想我很清楚它是如何工作的,因为我已经做了几年的 Silverlight 开发人员:-)

但是,有一件简单的事情我想不通:如何在应用程序启动时获取它的初始数据。

我需要的是一个简单的数据表,其中一些字段可以内联编辑(通过下拉菜单)我的应用程序结构是这样的:

app.js

var app = angular.module('feedbackApp', []);

feedbackService.js

app.service('feedbackService', function ($http) {
this.getFeedbackPaged = function (nodeId, pageNumber, take) {
$http.get('myUrl', function (response) {
return response;
});
};
});

feedbackController.js

app.controller('feedbackController', function ($scope, feedbackService, $filter) {
// Constructor for this controller
init();

function init() {
$scope.feedbackItems = feedbackService.getFeedbackPaged(1234, 1, 20);
}
});

标记

<html ng-app="feedbackApp">
<head>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
</head>
<body>
<table class="table" style="border: 1px solid #000; width:50%;">
<tr ng-repeat="fb in feedbackItems | orderBy: 'Id'" style="width:auto !important;">
<td data-title="Ansvarlig">
{{ fb.Name }}
</td>
<td data-title="Kommentar">
{{ fb.Comment }}
</td>
</tr>
</table>
</body>

但是当我运行应用程序时表是空的。我认为这是因为应用程序在服务数据添加到 View 模型($scope)之前启动,但我不知道如何在应用程序启动之前对其进行初始化,因此显示了前 20 个表行。

有人知道怎么做吗?

提前致谢!

最佳答案

你应该稍微修改你的代码以使其工作,因为你在这里使用 promise 你应该使用 .then

app.service('feedbackService', function ($http) {
this.getFeedbackPaged = function (nodeId, pageNumber, take) {
return $http.get('myUrl');
};
});

app.controller('feedbackController', function ($scope, feedbackService, $filter) {
// Constructor for this controller
init();

function init() {
feedbackService.getFeedbackPaged(1234, 1, 20).then(function(data){$scope.feedbackItems=data;});
}
});

关于javascript - 在 angularjs 应用程序中加载初始数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18748115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com