从RactiveJS组件中触发事件是一种常见的模式
Is firing off events from a RactiveJS components a common pattern?
http://examples.ractivejs.org/comments
上面的例子中有一行:
// fire an event, so we can (for example)
// save the comment to our server
this.fire( 'newComment', comment );
我很好奇这是否是Racive的常见做法?在组件中触发事件而不是触发AJAX请求?或者实例化某个模型对象并在该对象上调用#save方法来触发请求?
这是关注点的分离吗?测试?只是简化的示例代码?
var user = new Comment({ text: "text is here", author: "author name" });
user.save()
我唯一能想到的是,通过启动事件并让其他人处理它,可能会让测试变得更简单吗?这有助于分离关注点,但在我看来,这也会使追踪谁真正在处理数据的实际创建变得更加困难?
在你看来,谁来处理这次事件的解雇?在这个例子中,看起来你只是把它钉在"根"实用实例上,然后让它在上面处理它?在现实世界的应用程序中,它似乎会变得非常满?
此外,作为他的一个附带问题,你发现自己在现实世界的应用程序中使用"模型"和ractive的频率有多高?来自服务器端的世界,我非常习惯于从类和域模型的角度来思考问题。然而,我看到的唯一一个在前端流行的"模型"库是Backbone。然而,Backbone似乎有点高估了我的想法?
我很好奇这是否是Racive的常见做法?在组件中触发事件而不是触发AJAX请求?或者实例化某个模型对象并在该对象上调用#save方法来触发请求?
假设您的应用程序需要一个<input>
元素,以便在有人输入内容时通过AJAX调用端点。调用AJAX的不是<input>
。正是周围的代码钩住了一些已知的事件,这些事件是由在事件被触发时执行AJAX的输入触发的。Racive组件提供了以这种方式运行所需的设施,但您不一定需要这样做。
你发现自己在现实世界的应用程序中使用带有ractive的"模型"的频率是多少?
种族歧视并没有强加一个惯例。这就是为什么作者更喜欢称之为库而不是框架的原因。您可以使用任何您认为必要的编程模式。我使用Racive的方式与React组件的操作方式相同(单向绑定),我知道有人只将Racive用作模板引擎。你所提供的是一套API来做一些事情。这取决于你如何使用它。
如果你想知道Racive是否是唯一一个这样做的框架,那是否定的。其他几个框架以这样或那样的形式做组件:Ember、Angular(指令)、React(Flux+无状态组件)、Riot、Polymer(web组件)。
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 有没有一种方法可以防止img get请求使用css或js发生
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 从我的控制器返回一个不同于200的代码以触发ajax错误,这被认为是一种好的做法吗
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- 有没有一种方法可以仅使用HTML/CSS来隐藏基于特定值的数据单元格
- 有没有一种方法可以从URL跟踪请求的域
- 有没有一种方法可以列出Ember.Object的所有绑定
- 有没有一种方法可以获得three.js的最小/lite版本
- 有没有一种方法可以在没有文档或jQuery的情况下使用javascript解码html实体
- ES6是否引入了一种机制来生成块范围的函数语句(而不是表达式)
- 有没有一种方法可以从Javascript检测特定的应用程序是否安装在(AndroidiOS)设备上
- 从不断变化的动作创建者那里获取商店数据是否是一种常见的做法
- 这是一种常见的模式吗?(返回数据而不是返回承诺)
- 从RactiveJS组件中触发事件是一种常见的模式
- 我正在使用一种非常常见的名称空间模式,但希望对其进行扩展以传递第二个参数
- 一种处理多个requirejs上下文之间常见依赖关系的实践
- 处理常见JQuery事件处理模式的另一种方法
- 有没有一种常见的方法可以以类似于css的方式导入javascript文件;s@导入