问题标签 [js-data-angular]

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 回答
155 浏览

primary-key - [js-data] 不支持无主键吗?

我有我希望使用没有主键的 js-data ( http://www.js-data.io/docs/dsdefaults#idattribute ) 管理的日志数据。

我需要生成密钥还是可以将 js-data 配置为允许在没有 pk 的情况下访问数据?

我可以获取 js-data 来生成 pk 吗?我不需要持久化这些数据,只是想使用 js-data 功能来查询它。

例子:

0 投票
1 回答
151 浏览

javascript - Angular JS-Data 从本地文件加载数据

我有一个使用 Angular 和 JS-Data 的离子应用程序,在移动设备上运行时应该从下载的 JSON 文件中加载数据。

我将文件与应用程序捆绑在 www 文件夹中,并根据设备的类型复制到相关的存储文件夹中。复制文件后,如果有 Internet 连接,应用程序会尝试从 CDN 获取最新数据,将新数据保存在 JSON 文件中,并将 JSON 文件中的新数据读取到 JS-Data 中,这样向用户显示新数据。

这一切都有效,除了文件保存后的位并向用户显示新数据,他们显示旧的缓存数据。在保存到文件之前注销数据显示正确的数据,使用 $cordovaFile 加载文件显示正确的数据,文件的路径是正确的,所有调试都指向 JS-Data 第二次正确获取数据。

其中 basePath 是指向存储文件的文件夹的绝对链接,然后是 loadData 函数

console.log (areas) 显示文件中的旧数据,但使用上面的确切代码,如果我更改 basePath 变量以链接获取新的远程数据,则 console.log (areas) 显示新的更新数据。
任何想法我做错了什么,我没有绕过缓存?

0 投票
1 回答
105 浏览

jsdata - 如何在一个请求中填充多个 js-data 资源

我有一个 AngularJS 应用程序,我将其转换为使用 js-data。如果我有一个以这种格式返回 JSON 对象的 REST 接口

我该如何提取related.DeptList并将其注入js-data?我有一个可以返回数据对象的反序列化函数,但看不到如何提取相关数据。

0 投票
1 回答
200 浏览

angularjs - 如何让 JSData DS#create() 持久保存到数据存储

从下面的代码中,我希望每次运行该save()函数时控制台值都会增加。但是,数字不会更新。所以我没有看到任何创建的值在创建时注入到存储中。

我正在使用 jsdata-angular。

第一次保存findAll()执行后,它将从服务器检索记录,然后缓存它们。之后,它在执行 findAll() 时不会再调用服务器(这是预期的行为),但它也不会将新创建的值注入到存储中。

我所有的配置都保持不变。我正在使用所有默认值。

0 投票
1 回答
76 浏览

jasmine - JS-Data 注入后的缓慢茉莉花测试

我在 angularjs 中有一个 JS-Data 资源,每次我inject在(Jasmine)测试中调用它时,测试都会变慢,最多需要 700 毫秒。

我已经ejectAll()在每次测试后做一个。它也没有做任何$http请求,所以我没有线索......

任何想法为什么 JS-Data 注入在我的测试中可能如此缓慢?

0 投票
1 回答
81 浏览

ionic-framework - 使用 jsdata 进行离子刷新似乎不起作用

我的 ionic 应用程序使用 jsdata 数据存储来缓存http://www.js-data.io/docs/home
我正在尝试使用 ion-refresher 指令在我的应用程序中实现拉动刷新功能。

doRefresh 似乎根本没有发出 Get 调用。
当我点击 Pull to refresh 时,下面代码中的所有 console.log 消息都会被执行。
但是,如果我检查 Network 的选项卡,我根本看不到 Get 调用。
没有数据被刷新,我也没有收到任何错误。
我不确定为什么会发生这种情况或我做错了什么。

我的代码:

控制器:

0 投票
0 回答
101 浏览

json-api - 如何反序列化 js-data 中的空响应

js-data-http 中的find 方法似乎有一种特殊情况,如果itemfalse则它将拒绝承诺,否则返回item。我的问题是一些虚假值(0, null, '')是来自我的 API 的有效响应。

例如,如果我要求一个尚未设置的关系,那么 API 会以null包装在 jsonapi 信封中的数据进行响应。这遵循用于获取空关系的jsonapi 规范:

我正在使用js-data-jsonapi库来帮助 js-data 和 jsonapi 相处。在该库中,DeSerializer解开 jsonapi 信封。此时 js-data 重新负责,解包后的数据null是 find promise resolve 方法中的值,item这会导致 js-data-http 拒绝 promise。

现在我正在利用js-data-jsonapi 中的一个特殊情况将空数据反序列化为一个数组,因为在 JS 数组中是真实的。但是我必须对 hasOne 关系的检测进行特殊处理,现在必须将空数组重新转换为 null

这似乎是一种过于复杂的处理方式,我错过了更好的方法吗?

我的设置使用:

0 投票
2 回答
83 浏览

angularjs - JSdata - 查询以匹配数组中的所有项目(MongoDB '$all' 关键字)

我正在使用 jsdata 为 Angular 1.5 Web 应用程序创建本地缓存。我用相应的关系对我的数据进行了建模,一切正常。我正在为查询而苦苦挣扎,我什至不确定这是否适用于 js-data:

假设我有一组带有 ID 和名称的标签

以及一些已分配标签的帖子:

然后我定义了一个标签和帖子数据存储,并在帖子上设置了一个 hasMany 关系:

当我查询帖子时,我看到我的标签出现在 embedded_tags 中,这很好。我现在想将我的帖子过滤到一组特定的标签:假设,我只想查看带有标签 2 和 3 的帖子,即帖子 2。

显然这不起作用:

这也不会(当然会引发重复的键警告):

在 MongoDB / Mongoose 中有一个关键字 $all 正是这样做的。有没有办法在 jsData 中进行这样的过滤,或者这是一个太多的数据库任务,应该在后端完成 - 我想避免,因为这或多或少是拥有本地缓存​​副本的全部意义, 正确的?

Plunkr:http ://plnkr.co/edit/M44V8js0BtZaK6Xq9CYt?p=preview

0 投票
1 回答
322 浏览

npm - 如何解决 js-data-angular 和 js-data-http 之间的依赖冲突

我目前正在做一个项目,该项目安装了 2 个 npm 包:
js-data-httpjs-data-angular.

问题是 js-data-http requiresjs-data@>=3.0.0和 js-data-angular requires js-data@>=2.0.0 <3。我查看了这两个包的所有版本,找不到任何与 js-data 的依赖项匹配的版本。

由于依赖冲突,我无法生成 npm-shrinkwrap,还有其他人经历过这个吗?