Ember — 观察记录的创建/删除

2023-12-10

假设我有 2 组独立的控制器/模型:Dog and Cat.

现在,每当我创建新的Cat记录(或删除现有的)我想要Dog控制器观察记录的创建/删除以及新记录的创建/删除Cat记录已创建我希望它触发一些操作(例如console.log('Bark!')).

我不想从以下位置发送操作Cat控制器到Dog在这种情况下直接控制器;我想Dog控制者要对自己负责。如果可能的话,有什么办法可以从Dog控制器查看记录是否被创建或删除?

有什么想法如何做到这一点吗?


使用 Ember 数据

在狗/猫控制器上,您可以创建对猫/狗集合的引用。

假设您正在创建狗控制器

App.DogRoute = Em.Route.extend({
  model: function(){
    return this.store.find('dog');
  },
  setupController: function(controller, model){
    this._super(controller,model);
    controller.set('cats', this.store.all('cat'));
  }
});

App.DogController = Em.ArrayController.extend({
  catsChanged: function(){

  }.observes('cats')
});

此外,您可以添加一个数组观察器并观察项目如何变化。

App.DogRoute = Em.Route.extend({
  model: function(){
    return this.store.find('dog');
  },
  setupController: function(controller, model){
    this._super(controller,model);
    var all = this.store.all('cat');
    controller.set('cats', all);
    all.addArrayObserver(controller);
  }
});

App.DogController = Em.ArrayController.extend({
  arrayWillChange: function(array, start, removeCount, addCount) {
    console.log(arguments);
  },
  arrayDidChange: function(array, start, removeCount, addCount) {
    console.log(arguments);
  }
});

使用需求及观察控制器

App.CatsController = Em.ArrayController.extend({
  needs: 'dog',
  dogs: Em.computed.alias('controllers.dogs'),
  dogsChanged: function(){
    console.log('dogs changed');
  }.observes('dogs.[]')
});


App.DogsController = Em.ArrayController.extend({
  needs: 'cat',
  cats: Em.computed.alias('controllers.cats'),
  catsChanged: function(){
    console.log('cats changed');
  }.observes('cats.[]')
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ember — 观察记录的创建/删除 的相关文章

  • 观察非 ember 全局变量

    我想要一个计算属性来观察非 ember 全局 localStorage 中的特定键 这可能吗 以下似乎并没有削减它 someProperty function some functionality property localStorage
  • 如何更改 Ember 中的查询参数?

    我正在编写一个动作处理程序route application actions changeFoo foo I want to change the fooId queryParam to foo get id 问题是我能找到的唯一记录的更改
  • Ember.js 在特定页面上包含外部脚本

    我试图弄清楚如何包含外部 javascript 源 图表 但仅限于网站上的单个页面 可以在视图或模板中完成吗 我发现只需添加页面模板不起作用 如果我将它添加到整个网站的模板中 它加载得很好 但是它会加载到每个页面上 我的问题的另一面可能更具
  • 在 ember 数据中,在 forEach 循环中调用 destroyRecord 会破坏循环吗?

    我正在为我的一个项目开发一个简单的标签模型 我已经在 Angular 中实现了类似的东西 但我想在 Ember 中尝试一下 型号代码如下 Tag DS Model extend name DS attr string user DS bel
  • 在 Ember.js 中,为什么绑定到数组在 {{#each}} 之外不起作用?

    在下面的代码中 我渲染了 3 个视图 第二个和第三个视图渲染App controller a 单击第一个视图会发生变化App controller a 单击时 第三个视图会更新其内容 第二个视图不更新其内容 为什么 我认为第二个视图绑定到数
  • Ember Data 未找到模型,但它显然存在

    我和其他许多人一样将我的 ember 应用程序升级到了最新版本 但升级后 我的应用程序仍然无法工作 我已经简化了很多 这归结为我的路线 我的路线是这样的 按照过渡指南中的建议 App BoxesRoute Ember Route exten
  • Ember 组件在路由或控制器中调用操作

    我有一个组件 其主要目的是显示一行项目 每行都有一个删除按钮 可以删除一行 如何将操作从模板传递到将在路由器中触发操作的组件 这是使用该组件的模板 templates holiday hours hbs each model as holi
  • Action Cables、嵌套 JSON 属性和 JSONAPI

    我有一个相当具体的问题 我希望你们中的一个真正聪明的人可能知道解决方案 甚至是现阶段的解决方法 具体来说 我正在处理操作电缆 嵌套 JSON 和 JSONAPI 我有一个asset模型 它具有一些属性 例如name desc等等 但它还有一
  • 恢复对 ember 数据模型的更改

    有没有办法轻松恢复对 Ember 数据模型的更改 我有一个绑定到编辑视图的模型 此视图使用户能够取消编辑 此时我想恢复对模型的更改 有没有一种简单的方法可以做到这一点 而无需克隆所有值 从 Ember Data 版本 2 开始 不再有交易
  • Ember.js 动态子视图

    我无法让 ember 渲染动态子视图 似乎一旦渲染了子视图 绑定就会丢失 这是一个jsfiddle http jsfiddle net zaius XYzfa http jsfiddle net zaius XYzfa 当您在两个编辑器页面
  • 如何将子记录添加到现有父记录中?

    我一直在 Google 和 Stack Overflow 上搜索有关这个主题的某种提示 但信息充其量是分散的 我正在尝试创建一个新的子记录 Comment 并将其保存到现有的父记录 Post 我使用的是 Ember Model 而不是 Em
  • Ember:如何使用 i18n lib 翻译占位符?

    See http jsfiddle net cyclomarc 36VS3 1 http jsfiddle net cyclomarc 36VS3 1 我正在使用 Ember i18n lib 进行翻译 如何在 Ember TextFiel
  • 如何清除ember js中的表单数据

    嗨 我对 ember js 很陌生 我写了一个新员工入职表格 并通过路线发送数据 数据保存成功 但问题是提交表单后我的表单数据没有清除 代码如下 app js App Router map function this resource sa
  • ember js 子视图和 didinsertelement 事件

    我正在写一个Ember View 它将树结构变成菜单 我需要递归 所以我在视图模板中使用的是 view helper 它递归地调用自身来构建嵌套 ul li 结构 我需要的是一个钩子来调用一些 jQuery 插件来将此结构转换为菜单 当我从
  • EmberJS:如何为 ember-data RESTAdapter 中的模型提供特定的 URL?

    问题一 如果我有一个名为 Company 的余烬数据模型 我如何告诉它点击 businesses and businesses id而是检索记录 有没有办法指定给定模型的 url 更好的是 像 BackboneJS 一样 我可以在运行时计算
  • 如何在 Ember 中捕获数组是否插入到车把中?

    我希望这不是重复的问题 但我无法找到解决方案 我有工作和用户 一个用户有很多工作 JP User DS Model extend firstName DS attr string lastName DS attr string email
  • 使用“ember-rails”将路由从 Rails 迁移到现有 Rails 应用程序的 Ember

    将 gem ember rails 用于现有的 Rails 应用程序 我正在尝试使用 Ember 路由一个资源 很多人告诉我这段代码应该可以工作 但事实并非如此 我想突破学习曲线并使这项工作成功 但我需要一些帮助 Error Routing
  • 如何返回延迟承诺并使用 Ember.Deferred 创建模型?

    我正在尝试创建一个User current 在我的应用程序中 它使用从我的服务器提取数据 getJSON users current function data 我正在使用 Discourse 使用的 Singleton 方法 该方法执行以
  • 同时使用 localStorage 和 REST 远程服务器的数据层架构

    任何人对于如何实现同时使用 localStorage 和 REST 远程存储的数据持久层都有任何想法或参考 某个客户端的数据存储在 localStorage 中 使用 ember data indexedDB 适配器 本地存储的数据与远程服
  • 绑定 Ember TextField 中的计算属性

    我正在尝试将我的数据模型绑定到 Ember js 中的文本字段 该模型有一个表示货币值的字段 例如 1 000 50 然后用户可以更改该值 Ember 接收数字 1000 50 形式的数据 非货币格式 我将视图绑定到具有良好格式的计算属性

随机推荐

  • 如何在 Windows 中通过命令行创建快捷方式?

    我希望我的 bat 脚本 test bat 创建一个自身的快捷方式 以便我可以将其复制到我的 Windows 8 启动文件夹中 我已经编写了这行代码来复制文件 但我还没有找到创建上述快捷方式的方法 因为您可以看到它只复制脚本 xcopy C
  • 使用正则表达式 JAVA 将文本拆分为段落

    我有包含一些数据的文本文件 所有段落均以四个空格开头 我的目标是将这段文字分成几个段落 首先 我使用以下方法阅读全文 public String parseToString String filePath throws IOExceptio
  • 你什么时候应该分支?

    使用 SCM 系统时 什么时候应该进行分支 一般来说 分支 VCS 版本控制系统 功能 的主要目的是实现代码隔离 你至少有one分支 这对于顺序开发来说已经足够了 并且用于在同一唯一分支上记录 提交 的许多任务 但该模型很快就显示出其局限性
  • 在 iOS 上,我的应用程序如何获取手机在后台时收到的通知数据?

    AppDelegate 有没有办法获取所有通知数据的队列 一旦用户打开应用程序 根据苹果文档 当远程通知到达时 系统调用application didReceiveRemoteNotification fetchCompletionHand
  • Autofac - MVC 控制器和 Web Api 控制器的依赖注入

    我在同一个项目中有 MVC 控制器 在 Controllers 文件夹中 和 Web Api 控制器 在 Api 文件夹中 这是文件夹结构 Controllers 产品控制器 Api 产品控制器 这是我的引导程序方法 private sta
  • python dict has_key() 方法的时间复杂度是多少

    python dict的时间复杂度是多少has key 方法 是吗O 1 就像 dict 中的键一样 简短回答 最坏的情况下 it is O n 但是平均情况时间复杂度是O 1 The 然而最坏的情况是very rare 当您进行查找时 键
  • 没有音量滑块或静音按钮的音频标签?

    我创建了一个没有下载按钮的音频标签
  • 不使用 asyncio 编写 EventLoop

    我对 python 越来越熟悉了asyncio Python中的异步编程 协同例程等 我希望能够使用我自己定制的程序执行多个协同例程事件循环 我很好奇我是否可以自己写事件循环无需导入asyncio at all 我希望能够使用我自己定制的事
  • 确定陈述/文本的积极或消极程度的算法

    我需要实施情绪分析 谁能指出我的示例 参考实现 http www uclassify com http www uclassify com browse prfekt Mood
  • vb.net 字符串中的最后一个字符

    如何在 vbstring 中找到最后一个字符 例如在字符串 V1245 12V0 中我想返回 V 不要使用子字符串只获取一个字符 Dim MyString As String V1245 12V0 Dim MyChar As Char My
  • 使用 jQuery 搜索 HTML 字符串

    如果我运行这段代码 var html div class bar div console log html find div 如果我运行此代码 我不会返回任何结果 var html div div class bar div div con
  • 单行填充ListView高度

    listView 中有一行我希望其高度与 listView 相同 假设是全屏 行布局看起来像
  • PHP printf 函数及其奇怪的行为

    我很困惑这些数字的含义 对我来说 printf 似乎给了我错误的结果 echo printf 2f 1 1 004 echo printf 3f 1 1 005 echo printf 2f 1 1234 1 124 首先 它似乎打印了太多
  • 使用 JavaScript 解码 URL 参数

    这应该是一个简单的任务 但我似乎找不到解决方案 我有一个基本字符串作为查询字符串参数传递 如下所示 This is a message with spaces 我想使用 JavaScript 解码该参数This is a message w
  • 多任务模型的自定义损失

    我正在微调 keras 模型 该模型为 3 个子任务输出 3 个不同的预测 模型输出是一个列表 out batch size 5 batch size 6 batch size 6 我只想计算第三个输出的分类交叉熵损失 所以我定义了一个简单
  • 检测 UIImageView 上的触摸事件

    我在 UIView 上放置了 4 个 UIImageView 并给它们命名 UIImageView myImg1 UIImageView alloc init UIImageView myImg2 UIImageView alloc ini
  • 在 Visual Studio Code 中调试 Python 时如何使用“跳转到光标”调试器命令

    Python调试器支持跳转命令来设置下一行执行 在 VS Code 中调试 Python 代码时可以使用此功能吗 vscode v1 36 增加了这个 跳转到光标 功能 参见调试 跳转到发行说明中的 光标 跳转到光标处 我们添加了一个新的调
  • 初始化 2D 对象数组时出现空指针异常 [Java]

    我正在尝试制作 2D 图块游戏 在制作保存图块的数组时 我收到 NullPointerException 这里是一些代码 抱歉 如果格式不正确 第一次 公开课世界 holds data for where to place images a
  • 有任何代码/库可以缩小 UIImage 吗?

    是否有任何代码或库可以帮助我缩小图像 如果你用iPhone拍照 它的像素大约是2000x1000 这对网络不太友好 我想将其缩小为 480x320 有什么提示吗 这就是我正在使用的 效果很好 我肯定会关注这个问题 看看是否有人有更好 更快的
  • Ember — 观察记录的创建/删除

    假设我有 2 组独立的控制器 模型 Dog and Cat 现在 每当我创建新的Cat记录 或删除现有的 我想要Dog控制器观察记录的创建 删除以及新记录的创建 删除Cat记录已创建我希望它触发一些操作 例如console log Bark