问题标签 [restangular]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
195 浏览

javascript - 强制 DOM 在 $scope 模型引用更改为工厂模型时呈现

我正在使用 AngularJS 1.2.0 通过 websocket 创建一个简单的消息传递应用程序。HTML 在列表上使用 ng-repeat 来生成总输出(我正在输入的消息数组)。我正在使用工厂来托管“私有”数据和方法,并且只公开视图模型和函数来操作控制器中的数据:

一切正常,除了当 Service['view'] 中的输出数组收到新消息时 DOM 的 ng-repeat 没有更新。我试过在这个线程中使用 $watchCollection 作为解决方案:AngularJS:绑定到服务属性的正确方法,但这也不起作用。我可以让 DOM 重新渲染的唯一方法是通过更改输入文本或触发 CSS 中的悬停状态来强制它重新渲染。

鉴于此设置,触发摘要的最佳方法是什么,以便在使用新消息数据解析承诺并未转移到输出数组时立即呈现 DOM?我想避免使用 $rootScope 和触发事件,因为当其他控制器使用工厂时,这会变得非常不干净。

0 投票
1 回答
1311 浏览

javascript - 在 Angular 中使用 Restangular 编辑模型会破坏 PUT,因为 Restangular 会附加模型 ID

我正在尝试为我的 Angular App 创建一个编辑视图。我使用 Restangular 作为处理我的 CRUD 操作的服务。

这里的 Plunker 就是一个很好的例子:http ://plnkr.co/edit/d6yDka?p=preview&codekitCB=406920728.784061

但我不会使用resolve。我不能得到传递给控制器​​的承诺。

不过没什么大不了的,我只是像查看详细视图一样进入控制器。

表单字段填充得很好。但是,当我执行 PUT 以保存编辑时,它将模型 ID 附加到 URL 以便它有效地执行以下操作/api/tasks/33/33:如何让它不将模型的 id 附加到 PUT 将数据发送到的路径上?

我认为我可以.put().put('tasks/' + $routeParams.taskId). 但这行不通。当然,这假设 Restangular root_api 设置为/api/它所在的位置。但这给了我一个 404 错误,因为它试图拆分内容,.put("tasks/" + $routeProvider.taskId)然后将其附加到 API 的 url。

那么,如何让 Restangular 停止将 ID 附加到 URL 中?或者,如果我做错了什么,我该如何以正确的方式做到这一点?

这是我的代码供参考。

0 投票
1 回答
2168 浏览

angularjs - 在 angularjs 中创建自动保存指令

我想创建一个指令作为我想将自动保存功能附加到其他指令的属性。我考虑过创建一个指令来监视传入的属性(模型)。去抖动功能来自 lodash,并防止每次击键时执行。put 方法来自 restangular 模型。

到目前为止我的想法

但是我没有让这个工作,然后我想我最好把它放在我的restangular模型中,但我还没有找到范围。如何正确添加此自动保存功能?我需要能够定义范围内的哪个对象将被监视并将监视附加到它,以便我获得更改的更新。

编辑:创建了一个显示想法的 plunker:

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

我试图在两个指令上设置一个范围,并得到一个错误,这是不允许的。(不允许使用两个孤立的范围)

我可以在属性指令上创建一个隔离范围吗?

基本上我需要将模型传递给自动保存指令

0 投票
1 回答
96 浏览

javascript - AngularJS如何制作一个POST JSON

我正在尝试发帖,但下面似乎不起作用它没有发布但console.log()看起来像一个放置请求,即

工厂

控制器

我做错了什么?

0 投票
1 回答
825 浏览

rest - AngularJS 行显示为空数据

我正在测试 angularJS。

在 app.js 我有

在html中我有

我面临的问题是显示空行而没有显示数据。这可能是什么原因?

编辑 1

从服务器返回的 JSON

来自 Chrome 浏览器的控制台日志

0 投票
1 回答
91 浏览

javascript - 除非我进行 GET 调用,否则不会显示 angularjs 绑定

这是我的情况:我的应用程序中有一个“编辑”屏幕。为了加载这个屏幕,我通过 window.postMessage 事件传入一个对象。我正在我的控制器中为编辑页面监听这个 postMessage 事件,并将传入的对象分配给我的范围内名为“患者”的属性。然后,在编辑页面标记中,我使用 ng-repeat 绑定到我的“患者”对象上的数组。问题是,页面没有更新以显示接收到的数据。
这是我的事件处理程序代码在我的控制器中的样子:

以下是标记绑定到患者对象的样子:

数据正确加载并且 $scope.patient 属性被完全填充,但屏幕没有更新。但是,如果我使用 RESTAngular 添加一个简单的“GET”调用,甚至不使用调用的结果,页面就会正确更新。为什么会这样?在没有无意义的 RESTAngular 调用的情况下,我该怎么做才能让页面更新?以下是适用于 RESTAngular 调用的代码:

0 投票
2 回答
496 浏览

angularjs - Restangular API调用后的Angular ng-show

在进行 Restangular api 调用后,我无法更新 ng-show。在从 api 获得响应后,我尝试使用 $appply,但出现“$digest already in progress”错误。

并且在视图中

任何帮助是极大的赞赏!

0 投票
1 回答
557 浏览

javascript - AngularJS/Restangular 索引 JSON 数据提取

我有一个接受报价输入(纯度、重量、总量)的应用程序,它会推送到 $scope.quote:

以及报价完成后的发布/保存

当尝试访问引用 JSON 以进行列表或编辑时,由于 JSON 结构,我无法访问所需的所有信息。

每个索引代表一个行项目的报价和 createdOn 信息。我想弄清楚的是,是否有一种方法可以访问所有行项目信息而无需调用每个单独的索引?

我研究了一些 lodash/underscore,考虑过重构后端......不太确定从这里去哪里。

github上的完整项目代码

0 投票
2 回答
432 浏览

javascript - 如何使用 $scope out restangular 函数

我正在尝试使用restangular从我的MongoDB中获取数据,然后将这些数据用于全日历。问题是 $scope.events 在使用 restangular 块时未定义。

如何将它用于 $scope.calConfig?

0 投票
1 回答
4424 浏览

angularjs - 用 angularjs jasmine karma 模拟 Restangular

我想对我的客户端模型/资源进行单元测试。

如果restangularrestangular.

我的资源:

我的模拟:

我的测试:

我得到的错误:

看起来失败来自加载restangular模块,它获取restangular提供程序对象(即this.$get = -> ...)并尝试运行invoke()