EmberJS - 具有 hasMany 关系的记录无法加载

2023-11-22

我正在使用 EmberJS 1.0.0 和 Ember Data 1.0.0 beta 以及最新版本的本地存储适配器。当我尝试从商店加载具有 hasMany 关系的记录时,出现以下错误:

ember-1.0.0.js(第 394 行)

断言失败:您在上查找了“项目”关系 'App.List:ember236:1' 但一些相关记录不是 已加载。确保它们都与父级一起加载 记录,或指定该关系是异步的 (DS.attr({ async: 真的 }))

和 ember-data.js(第 2530 行)

类型错误:解析器未定义 }).then(resolver.resolve,resolver.reject);

快速演示应用程序:http://jsbin.com/oKuPev/49(观看控制台)

<script type="text/x-handlebars">      
    List: {{name}}       
    <div>    
        {{#each items}}
            {{id}} - {{name}}<br/>
        {{/each}}
    </div>
</script>

<script type="text/javascript">

    window.App = Ember.Application.create({});        
    App.ApplicationAdapter = DS.LSAdapter.extend({});

    var FIXTURES = {
      'App.List': {
        records: {
          '1': { id: '1', name: 'The List', items: ['1','2'] }
        }
      },
      'App.Item': {
        records: {
          '1': { id: '1', name: 'item 1', list: '1' },
          '2': { id: '2', name: 'item 2', list: '1' }
        }
      }
    }

    // Store fixtures in localStorage
    localStorage.setItem('DS.LSAdapter', JSON.stringify(FIXTURES));

    // Models
    App.List = DS.Model.extend({
        name: DS.attr('string'),
        items: DS.hasMany('item')
    });  

    App.Item = DS.Model.extend({
        name: DS.attr('string') ,
        list: DS.belongsTo('list')
    });


    // Route  
    App.ApplicationRoute = Ember.Route.extend({    
        model: function() {
          // Fails!!!
          return this.store.find('list', 1);           
        }
    });       

  </script>      

我不确定问题是 ember.js、ember-data.js 还是 LocalStorage 适配器。


您需要将模型上的“项目”定义为本质上是异步的,因为 ember 对这些模型发出单独的请求,然后将它们异步连接在一起。

App.List = DS.Model.extend({
  name: DS.attr('string'),
  items: DS.hasMany('item',{async:true})
}); 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EmberJS - 具有 hasMany 关系的记录无法加载 的相关文章

  • JavaScript CSV 验证

    如何检查文本框中的逗号分隔值并在未找到时发出警报 如果有的话 里面应该有字符 比如A B C D function validate validate text box
  • 如何在 Yarn 中使用多个 npm 注册表?

    我正在尝试在我们的环境中设置 Yarn 0 17 9 但我的注册表有问题 我们目前使用两个注册中心 官方 npmjs 和我们自己的内部网络注册中心 Sinopia 问题是我们正在使用内部工具通过 registry 标志从一个或另一个中提取软
  • 在 IE8 中使用 javascript __proto__

    你好 我在 javascript 中有这两个对象 var john firstname John lastname Smith var jane firstname Jane 这样做 jane proto john 我可以访问 Jane 的
  • Javascript:使用 IIFE 和块语句之间的区别

    IIFE主要用于封装作用域 function let myVar 10 not global 但为什么不直接使用块语句呢 let myVar 10 also not global 除了范围封装之外 进一步使用 IIFE 是否还有其他好处 块
  • JS文件中的System.register是什么意思?

    在 Angular 2 中使用指令时 JS 文件中的 System register 是什么意思 我认为这个问题并不特定于 Angular2 中的指令 它是关于 ES6 TypeScript 和其他使用 SystemJS 的现代编译器的一般
  • html 图像 src 调用 javaScript 变量

    这是我的代码 我想问 我怎样才能做到这一点 img src img apple 我一直在尝试使用 call 函数和 document onload 但它根本不起作用 有人可以救我吗 我假设你只是想用 javascript 更新图像 src
  • jslint 配置 |传递全局变量

    我如何提醒 jshint 我有全局变量 即命名它们 我知道你可以做到这一点 但我不记得语法了 我在这里定义了一个全局的 function window glob1 local var 稍后像这样使用 不同的 IIFE function gl
  • vuejs 模板和 asp.net 部分视图,好的做法吗?

    我在网站中使用 Vue js 并将模板添加到 html 代码中 并将 js 代码添加到单个 js 文件中 所以我不想使用 vue Vuefy Browserfy 方法 而是稍后捆绑并缩小我的 js 文件 由于我必须使用 Asp Net MV
  • 在 UIWebView 中禁用复制和粘贴

    几乎 我已经尝试了一切方法来禁用复制 粘贴UIWebView但对我来说没有任何作用 我正在加载我的UIWebView来自字符串 字符串数组 如下所示 webView loadHTMLString NSString stringWithFor
  • 如何将本地文本文件上传到文本区域(网页内)

    我是一名新手程序员 需要一些帮助来弄清楚如何将本地文本文件上传到我正在构建的网站内的文本区域 我非常精通 HTML CSS 对 Javascript JQuery 有相当的了解 而且我刚刚学习 PHP 您能提供的任何帮助我将不胜感激 我有一
  • 我应该如何实现将状态保存到 localStorage?

    CODE var React require react var Recipe require Recipe jsx var AddRecipe require AddRecipe jsx var EditRecipe require Ed
  • 使用 Javascript/Node.js 在代码内执行 mongoimport

    node js javascript 中是否有任何库可供个人使用mongoimport在代码中 据我了解 mongoimport 有点像 exe 您必须先执行它 然后才能使用其文本输入环境 是否可以在我的代码中执行 mongoimport
  • IE localStorage 事件失火

    在 Internet Explorer 9 和 10 中 localStorage 实现意外地触发事件 这里有很棒的线索 Chrome 的 localStorage 实现存在错误 https stackoverflow com questi
  • Angular 2 将字符串转换为 md5 哈希

    我找到了ts md5 https www npmjs com package ts md5包 但在示例中它有一个hashStr方法 但现在不行了 类型上不存在属性 hashStr Md5 使用该错误后 该错误会记录在我的控制台中 我怎样才能
  • JavaScript 错误:MVC2 视图中的条件编译已关闭

    我试图在 MVC2 视图页面中单击时调用 JavaScript 函数 a href Select a JavaScript 函数 function SelectBenefit id code alert id alert code 这里 b
  • 为什么我的 D3 SVG 图上的轴不会更新?

    I have 简单的 D3 散点图 http www raxacoricofallapatorius com test scattertest html我在显示数据的几个不同属性之间切换 但是虽然我可以更改数据点 并按照我想要的方式进行转换
  • 如何将项目插入到特定索引处的空数组中?

    我想将一个项目插入到空数组的指定索引中 我看到有 Array prototype splice 方法 但是 如果我在空数组上使用 splice 它只会添加项目来结束数组 如下所示 var a a splice 3 0 item 3 cons
  • 如何使用 jQuery 过滤 DropDownList 中的选项

    我有 2 个 DropDownList 第一个 DropDownList 有 4 个选项 第二个 DropDownList 有 20 个选项 我想要一个选项value 1在第一个 DropDownList 中选择我在第二个 DropDown
  • ‘state’未定义 no-undef

    我使用教程来学习 React 但我很快就陷入困境 在教程中 他们使用以下代码 import React Component from react class Counter extends Component state count 0 r
  • Array.of 与“[ ]”。何时使用 Array.of 而不是“[ ]”?

    当我发现时我正在读一些书Array of https developer mozilla org en docs Web JavaScript Reference Global Objects Array of 根据 MDN Array o

随机推荐

  • URIBuilder 和列表查询参数

    我正在使用阿帕奇URI生成器构建一个查询字符串获取方法的休息服务 RequestMapping value remote public Return getTest Ordine ordine throws Exception 这是输入对象
  • Java重构工具[重复]

    这个问题在这里已经有答案了 可能的重复 像 ReSharper 这样的工具 但适用于 Java 我非常频繁地使用 Eclipse 提供的 Java 代码重构工具 提取接口 重命名方法等 有谁知道其他类似的工具 最好是 Eclipse 插件
  • 在实体框架中添加与同一个表的第二个一对一关系

    我正在做代码优先的实体框架设计 我有一个表 Account 它有一个属性 Supervisor public class Account public int Id get set public Account Supervisor get
  • 如何进入亚音速?

    一个月前 我搜索了一些可以为我的 SQL 数据库 表生成 C 类的工具 这样我就不必手动编写DAL类并节省大量时间 我遇到了 ORM 和亚音速 我在主页上观看了网络广播http subsonicproject com 并且是印象深刻 by
  • 在静默模式下运行 CMD 或 BAT

    如何以静默模式运行 CMD 或 bat 文件 我希望阻止向用户显示 CMD 界面 包括这句话 echo off 就在你的bat脚本的顶部
  • 如何在 Windows 8 应用程序中向 HttpWebRequest 添加标头?

    我开发 C XAML Metro ui 应用程序 我想调用一些服务并使用HttpWebRequest为了这 之前的实现HttpWebRequest包含ContentLength and UserAgent特性 但WinRT的实现却没有它 我
  • AES/CBC 真的需要 IV 参数吗?

    我正在编写一个简单的应用程序来使用 AES CBC 模式 加密我的消息 据我了解 CBC 模式需要 IV 参数 但我不知道为什么我的代码在不使用 IV 参数的情况下工作 任何人都可以解释为什么吗 谢谢 加密消息无一例外地打印 T9KdWxV
  • 释放-获取的传递性

    正当我以为我已经掌握了原子知识时 我看到了另一篇文章 这是摘录自GCC wiki under 总体总结 Thread 1 Thread 2 Thread 3 y store 20 if x load 10 if y load 10 x st
  • node.js,捕获错误以便脚本不会中断?

    我有一个 node js 脚本 每当发生错误时 node js 都会因发生的错误而停止运行 检查 Node js 中的错误的正确方法是什么 这样它就不会破坏脚本并导致 Node js 停止 您可以通过设置以下内容来捕获其他未捕获的错误 pr
  • 数据包加密在Chef服务器上加密,但是如何加密本地副本呢?

    我在私有 git 存储库中拥有完整的 Chef 配置集 包括角色 食谱 数据包等 我发现当数据包上传到 Chef 服务器时 我可以使用 secret file 选项对其进行加密 但我也想将这些数据包加密存储在 git 存储库中 唯一想到的就
  • Django 开发服务器和 MIME 类型

    是否有在 django 开发服务器中设置 MIME 类型 具体来说 我希望从 Chrome 开发工具的警告中删除此消息 Resource interpreted as Image but transferred with MIME type
  • % 在 like 子句的开头

    我听说由于性能原因 不建议在 SQL Server 中的 LIKE 子句开头使用 为什么会这样呢 有关此问题的更多详细信息将帮助我了解此问题的影响 A 在一个的开始LIKE子句意味着索引完全没有用 如果有静态文本将图案锚定在 至少可以从索引
  • 在批处理文件中,如何判断进程是否正在运行?

    我想编写一个批处理文件来检查进程是否正在运行 如果正在运行 则执行一个操作 如果没有 则执行另一个操作 我知道我可以使用任务列表列出所有正在运行的进程 但是有没有更简单的方法来直接检查特定进程 看起来这应该可行 但事实并非如此 taskli
  • 找到穿过迷宫的所有可能路径

    我正在尝试创建一个程序 该程序将遍历一个随机生成的迷宫 其中 1 是开放的 0 是墙壁 从左上角开始 到右下角结束 路径可以向上 向下 向左 向右 目前 我的程序为我提供了一种解决方案 但我无法让它打印多个路径 我已经阅读了这个问题的几个不
  • 如何使用 Apache Velocity 进行 XML 转义?

    我正在使用 Apache Velocity 生成 XML XML 转义输出的最佳 最直接 方法是什么 我看到有一个转义工具 但无法弄清楚它的开发状态 我还认为 XML 转义很可能是由 Velocity 直接支持的 看一眼事件处理程序 eve
  • IOS 关闭/显示键盘而不放弃第一响应者

    我的应用程序与通过蓝牙连接的条形码扫描仪一起使用 连接扫描仪后 您可以双击扫描仪上的按钮来关闭 显示屏幕键盘 90 的情况下 用户会希望隐藏键盘 因为他们将扫描条形码来输入数据 我提前知道有一些例外情况需要启用键盘 我想省去他们按扫描仪按钮
  • 可能使用三元运算符表达条件 HAML

    尝试想出一种更紧凑的方式在 HAML 和 Ruby 中表达这个条件 也许使用三元运算符 if page nil br nothing yet else br page name 寻找类似的方法有条件地测试是否在 HAML 模板中添加类的巧妙
  • 如何使用 grep 跨多行查找模式?

    我想找到按顺序包含 abc 和 efg 的文件 并且这两个字符串位于该文件中的不同行 例如 一个包含内容的文件 blah blah blah blah blah abc blah blah blah blah blah blah blah
  • qTip 问题 - 提示未显示,因为元素在脚本之后加载

    我对 javascript jQuery 或其插件不太有经验 但通常我都能应付 无论如何 我的客户正在构建一个网站 其目的之一是从不同网站获取新闻文章并在无序 html 列表中显示标题 我无法访问他的代码 新闻文章加载速度相当慢 在网站加载
  • EmberJS - 具有 hasMany 关系的记录无法加载

    我正在使用 EmberJS 1 0 0 和 Ember Data 1 0 0 beta 以及最新版本的本地存储适配器 当我尝试从商店加载具有 hasMany 关系的记录时 出现以下错误 ember 1 0 0 js 第 394 行 断言失败