gpt4 book ai didi

angularjs - 如何使用 AngularJS 和 Restangular 返回/编辑 REST 资源

转载 作者:行者123 更新时间:2023-12-01 07:14:28 25 4
gpt4 key购买 nike

使用 Restangular对于 AngularJS,继续从 Mongolab 获取对象对象。

我确定它与 Promise 有关,但不确定如何使用/实现来自旧 Java OO 经验的这个。

(旁注,像 Eloquent Javascript 这样的书籍或资源是否可以帮助我理解"new"Javascript 风格?)

小型网络应用程序适用于残疾学生,用于输入/编辑学生,更新他们放学后的时间,然后每周为他们的 parent /看护人输出报告。

这是弹出新表单时返回 undefined 的代码(AngularJS Boostrap UI modal)

我个人认为 Restangular 和文档是一个很好的补充,所以希望它不会劝阻其他人 - 这只是我不知道。

提前致谢

应用程序.js
...

$scope.editStudent = function(id) {
$scope.myStudent = Restangular.one("students", id);
console.log($scope.myStudent);
}

最佳答案

我是 Restangular 的创建者 :)。也许我可以帮你一点。

因此,您需要做的第一件事是为 Retangular 配置 baseUrl。对于 MongoLab,您通常确实有一个与所有这些类似的基本 url。

一旦你开始工作,你需要检查响应的格式:

如果您的响应包装在另一个对象或信封中,则需要在您的 responseExtractor 中“解开”它。为此,请查看 https://github.com/mgonto/restangular#my-response-is-actually-wrapped-with-some-metadata-how-do-i-get-the-data-in-that-case

一旦你确定了,你就可以开始做请求了。

所有 Restangular 请求都返回一个 Promise。 Angular 的模板能够处理 Promise 并且它们能够在 HTML 中显示 Promise 结果。因此,如果 Promise 尚未解决,它不会显示任何内容,一旦您从服务器获取数据,它就会显示在模板中。

如果您想要做的是编辑您获得的对象,然后进行放置,在这种情况下,您无法使用 promise ,因为您需要更改值。

如果是这种情况,您需要将 promise 的结果分配给 $scope 变量。

为此,您可以执行以下操作:

Restangular.one("students", id).get().then(function(serverStudent) {
$scope.myStudent = serverStudent;
});

这样,一旦服务器返回学生,您将把它分配给作用域变量。

希望这可以帮助!否则在这里评论我!

也可以用 MongoLab 看看这个例子,也许它会帮助你:)

http://plnkr.co/edit/d6yDka?p=preview

关于angularjs - 如何使用 AngularJS 和 Restangular 返回/编辑 REST 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17254151/

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