gpt4 book ai didi

javascript - 从 RactiveJS 组件触发事件是一种常见模式吗?

转载 作者:行者123 更新时间:2023-12-03 08:28:54 25 4
gpt4 key购买 nike

http://examples.ractivejs.org/comments

上面的例子中有一行:

// fire an event, so we can (for example)
// save the comment to our server
this.fire( 'newComment', comment );

我很好奇这在 Ractive 中是否是常见做法?触发事件而不是在组件中触发 AJAX 请求?或者实例化某个模型对象并在该对象上调用 #save 方法来触发请求?

这是关注点分离吗?测试?只是简化的示例代码?

var user = new Comment({ text: "text is here", author: "author name" });
user.save()

我唯一能想到的是,通过触发事件并让其他东西来处理它可能会使测试更简单?它有助于分离关注点,但在我看来,这也会使追踪谁在实际处理数据的实际创建变得更加困难?

您认为,谁将处理该事件的触发?在示例中,您似乎只是将其附加到“root”ractive 实例并让它在那里处理它?这似乎在现实世界的应用程序中会变得非常完整?

另外,作为他的问题的一个附带问题,您发现自己在现实世界的应用程序中使用带有 ractive 的“模型”的频率如何?来自服务器端世界,我非常习惯从类和域模型的 Angular 来思考事物。然而,我见过的唯一在前端流行的“模型”库是 Backbone。然而,对于我的想法来说,Backbone 似乎有点大材小用了?

最佳答案

I'm curious if this is a common practice in Ractive? Firing the event rather than shooting of an AJAX request in the component? Or instantiating some model object and calling a #save method on that object to fire off the request?

假设您的应用需要 <input>当有人输入内容时,通过 AJAX 调用端点的元素。这不是<input>这称为 AJAX。它是 Hook 到由输入触发的某些已知事件的周围代码,在事件触发时执行 AJAX。 react 组件被赋予以这种方式操作所需的设施,但您不一定需要这样做。

how often do you find yourself using "models" with ractive on a real world application?

Ractive 不强加约定。这就是为什么作者更喜欢将其称为库而不是框架。您可以使用您认为必要的任何编程模式。我使用 Ractive 的方式与 React 组件的操作方式相同(单向绑定(bind)),而且我知道有人只是将 Ractive 用作模板引擎。您提供的是一组能够执行某些操作的 API。这取决于你如何使用它。

如果您想知道 Ractive 是否是唯一一家这样做的公司,那么答案是否定的。其他几个框架以一种或另一种形式构建组件:Ember、Angular(指令)、React(Flux + 无状态组件)、Riot、Polymer(Web 组件)。

关于javascript - 从 RactiveJS 组件触发事件是一种常见模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33428690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com