【问题标题】:Vue.js Should you emit data from popup back to the main window?Vue.js 你应该将数据从弹出窗口发送回主窗口吗?
【发布时间】:2019-03-07 14:17:01
【问题描述】:

我和我的同事似乎无法就 Vue 和弹出窗口的最佳实践达成一致。 问题如下:

您在主窗口中,您使用 REST API 从后端获取数据并注意到一个错误。要修复它,您转到一个编辑弹出窗口,点击保存后会发生什么?

  • 是否应该从弹出窗口调用 API?
  • 发出改变的数据,让主窗口调用API?
  • ...

【问题讨论】:

  • 我会使用 vuex 通过actions 管理服务器交互。模态只需要发起请求。好处是它将业务逻辑保存在一个地方(如果您对所有 REST API 请求都这样做)。

标签: vue.js vuejs2 axios


【解决方案1】:

这是一个非常有趣的问题,但我认为真相取决于您的整个架构、实现和您使用的方法。

说,如果您担心“关注点分离”,您不会让弹出窗口访问 API,因为它的工作是将一些数据显示为弹出窗口,返回数据,仅此而已。

另一方面,您如何处理错误?如果用户在弹出窗口中工作时出现错误怎么办?你在哪里显示错误?

另一个问题是可用性。例如,如果保存数据时发生错误,如果是在主窗口完成的,您将:

  1. 显示错误信息

  2. 让用户再次单击某个按钮以显示弹出窗口

  3. 修复一个问题并点击其中的保存按钮。

但如果您直接从弹出窗口访问 API,您将避免前两个步骤。另一个问题是您如何处理错误的数据。

如果您仍在弹出窗口中,您可以轻松验证数据并取消保存(或完全禁用此按钮),但如果在弹出窗口关闭后完成,则可能为时已晚。

【讨论】:

  • 啊哈!!我明白你在说什么。最好问问自己我们将如何处理错误的输入/服务器错误,然后继续。我已经选择了“如果成功,主窗口将关闭弹出窗口”的路线
  • @Hafinator 对,也许也值得问问你的用户 :) 无论如何,这个想法是从不同方面审查工作流程:实施、错误处理、可用性等。
猜你喜欢
  • 2011-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多