在 Ember 中调用 App.store.commit() 太快

2024-06-28

在我的应用程序中,我有一个项目列表,以及一个用于删除最后一个项目的按钮。然后在我的控制器上我写了以下操作:

  removeLastItem: ->
      lastItem = current_order.get('items').get('lastObject')
      lastItem.deleteRecord()
      App.store.commit()

我的问题出现在我总是以太快的速度点击按钮。在某些时候,似乎虽然 store.commit() 尚未完成(该项目仍然脏),它已经为另一个项目调用 store.commit() ,抛出此错误:

错误:尝试处理事件deleteRecord在 应用程序项目:ember6954:f6a1c932-2db0-4933-7c92-69fbd3838229>而 处于 rootState.deleted.uncompaid 状态。调用未定义

我已经尝试将此代码放入 RunLoop 或 Transaction 中,但没有任何效果。

有什么线索吗? :)


您可以尝试不同的方法,例如禁用按钮,直到记录didDelete事件被触发。

Example:

  removeLastItem: ->
    # get the reference to your button and disable it
    lastItem = current_order.get('items').get('lastObject')
    lastItem.deleteRecord()
    lastItem.on 'didDelete', =>
      # reenable your button again

    lastItem.on 'becameError', =>
      # reenable your button again and notify user?

    App.store.commit()

See here http://emberjs.com/guides/models/model-lifecycle/有关模型生命周期以及您可以收听的所有事件的信息。

希望能帮助到你。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Ember 中调用 App.store.commit() 太快 的相关文章

  • Rails 和 Ember 的 JSONAPI 强参数

    我将 Ember 与 ember data 和 Rails api 一起使用 我有一个 createRecord 和 save 来保存工作正常的记录 用于在 Rails 中创建记录的发布请求的网络选项卡中的有效负载如下所示 data att
  • Ember.js:过渡到路由,然后到动态段

    我有一个设置有帐户和 account account id 选项的路由器 当用户登陆我的应用程序的索引页面时 我将它们转换到帐户路径 Social Router map function this resource accounts fun
  • 加载 Ember.View 的内容后初始化 jQuery 插件

    DEBUG Ember VERSION 1 0 0 rc 6 ember js DEBUG Handlebars VERSION 1 0 0 rc 4 ember js DEBUG jQuery VERSION 1 9 1 控制器是一个Em
  • Ember.js 数组作为模型的属性

    干杯 我有一些模型 它的一个属性是一个数组 但由于某些原因 我在服务器上使用 mongoDB 并且它是嵌入式模型和 ember data 的问题 我不能做这样的事情 App Foo DS Model extend numbers DS ha
  • Ember 集成测试在访问路线后挂起

    我正在尝试做一个简单的集成测试 我从 ember cli 网站上的集成示例开始 现在 当我在浏览器 localhost 4200 tests 中测试时 以下情况会路由到我期望的位置 但随后它只是挂起并且永远不会成功或失败 import Em
  • Ember.js - 渲染到插座中的默认模板?

    所以我有一个如下所示的页面 Nav Bar Content 我希望导航栏在所有页面上保持不变 所以我使用的方法是将我的页面设置如下 Nav Bar outlet 这太棒了 我现在可以将不同的页面渲染到不同路线的出口中 但是 如果我希望将默认
  • Ember-数据引导模型对象

    当使用非远程 AJAX 调用的现有 JSON 引导 Ember 数据模型对象时 我是否必须进行以下 2 个调用 App store load App Account data var account App store find App A
  • 使用 Ember + Handlebars 在运行时动态选择视图

    我正在使用 Ember Ember Data 和 Handlebars 来显示包含多种不同类型模型的时间线 我当前的实现虽然运行正常 但似乎可以通过约定和助手来大幅改进 但是 我不知道如何使用已经定义的模板 这就是我所拥有的 view Ap
  • emberjs:在应用程序初始化()之后添加路由

    我在使用 emberjs 构建基于路由器的应用程序时遇到了以下问题 我的应用程序的结构简化如下 var App Em Application create App ApplicationController Em Controller ex
  • Ember - 如何在嵌套数据对象上使用pushObject?

    由于这篇文章 我已经可以将新对象推入 jobs 和 jobProducts 数组中如何在 Ember js 中创建嵌套模型 https stackoverflow com questions 9186214 how to create ne
  • 在 ember-cli 中安装 Foundation 5

    我对 ember 相当陌生 对构建工具也很陌生 我目前正在使用通常的基础安装以及基础 cli 和指南针来编译我的 css 这有点痛苦 并且对于团队工作来说非常糟糕 我认为用 Bower 安装文件并使用会更好ember cli compass
  • ObjectController 上的绑定 - Ember.js

    当您尝试将绑定添加到ObjectController它不起作用 App FailController Em ObjectController extend content null myBinding App router myContro
  • Ember 数据 - 动态段和查询参数在一起?

    使用 Ember 1 8 0 和 Ember Data 1 0 0 beta 11 Ember 商店的findQuery 函数似乎无法处理动态段 或者至少我无法在任何地方的文档中找到它 例如 给定以下路线 MyApp Router map
  • 在开发中如何从 https://localhost:4200 提供 ember-cli

    为了使我们的身份验证能够与 ember 应用程序配合使用 我们需要从安全 URL 为该应用程序提供服务 我们有一个自签名的 ssl 证书 如何设置 ember cli 来为 index html 表单提供服务https domain Che
  • 如何在 Ember JS 路由中顺序加载多个模型

    在 Ember JS 中顺序加载多个模型的最佳方法是什么 e g App ProductRoute Ember Route extend model function params first call this store find Pr
  • 如何从旧提交创建新的 Git 分支? [复制]

    这个问题在这里已经有答案了 可能重复 最近 不太明确的问题 使用 Git 从先前的提交分支 http stackoverflow com questions 2816715 branch from a previous commit usi
  • ember.js 如果没有提供则显示默认嵌套路由

    在我的 ember 应用程序 1 0 0 生产版本 中 我的 URL 结构如下 item item specific item name defined in routes 路由器映射看起来有点像这样 App Router map func
  • 路由仅在页面刷新时加载 - Ember JS

    我目前正在学习 Ember 正在制作一个简单的应用程序 但我遇到了一个奇怪的问题 我有一个路线设置 它仅在我重新加载页面时提取数据 这是我的代码 Start Ember application App Ember Application c
  • 车把错误:尽管已激活功能,但找不到属性“query-params”

    我试图在我的路线 控制器中使用查询参数 但车把助手导致了此错误 未捕获的错误 车把错误 无法在对象上找到属性 query params 此错误是由以下链接引起的 link to betround stats query params gam
  • 有没有一个工具可以在 Ubuntu 上监视远程 Git 存储库并在提交时弹出通知?

    我希望当人们对我正在监视的存储库进行提交时弹出通知 不托管在 github 等任何特定站点上 因此需要能够将存储库 URL 添加到受监视存储库列表中 正如标题所示 这是针对 Ubuntu 的 但欢迎跨平台 因此 git 通知 https g

随机推荐