AngularJS:数据格式化的推荐做法是什么?
AngularJS: what are the recommended practices for data formatting?
在AngluarJS应用程序中,我有一个数据填充表,并希望一个单元格不显示原始数据,但它的格式化版本,实际上是一个链接到一个网页,使用原始数据的url。换句话说,类似于:
<td><a href="http//www.website.com/[RAW_DATA]">[RAW_DATA]</A></td>
我看到了实现这一目标的四种方法:
1:在模板中使用如下内容包含链接:
<td><a href="http//www.website.com/{{raw_data}}">{{raw_data}}</A></td>
2:使用自定义指令,像这样:
JS
HTMLdirective('custom_link', function() { return{ restrict: 'E', template:'<a href="http//www.website.com/{{raw_data}}">{{raw_data}}</A>' } });
<td><custom_link /></td>
3:使用自定义过滤器,像这样:
JS
HTMLfilter('custom_link', function() { return function(raw_data) { return "http//www.website.com/"+raw_data; }; })
<td><a href="{{raw_data|custom_link}}">{{raw_data}}</A></td>
4:使用自定义指令和自定义过滤器,像这样:
JS
HTMLdirective('custom_link', function() { return{ restrict: 'E', template:'<a href="{{raw_data|custom_link_filter}}">{{raw_data}}</A>' } }); filter('custom_link_filter', function() { return function(raw_data) { return "http//www.website.com/"+raw_data; }; })
<td><custom_link /></td>
哪个"解决方案"是最"优雅"的,还是最"符合AngularJS"的?
谢谢
我总是尝试并订阅KISS(保持简单)原则,如果您不需要更完整的解决方案,而更简单的解决方案提供所需的功能,请使用它。
假设以上每个解决方案都有效,或者更确切地说,给你所需的结果。
- 我更喜欢解决方案1,因为它更容易阅读和理解。
- 解决方案2基本上与解决方案1相同,但如果您在许多地方需要相同的功能,或者您希望将来有更多可扩展性,则会是更好的解决方案。指令对于代码重用非常有用。
- 我个人不会使用解决方案3和4,因为它们比我觉得你在问题中描述的需要更复杂。
如果你需要更复杂的数据格式,那么过滤器将是正确的选择。所以基本上,你需要完成什么才能决定正确的实现,但最简单的通常是最好的。
- 使用一个指令创建可重用的 HTML组件。总是这样。如果重用不是这个用例的目标,那么请尽量保持简单(KISS)
- 3,4,5它们都有效,但要确保你在增加复杂性的同时获得了一些东西。增加的复杂性没有增加的优势只是不值得麻烦。
相关文章:
- 使用ReactJS和Flux架构从服务器获取数据的正确方法是什么
- 存储数据的最佳方式是什么,以便与jquery一起使用
- 鼠标悬停的属性数据是什么
- 在d3.json中使用d3.csv组合多个csv文件数据输入的最佳方法是什么
- 选择具有特定数据的所有 html 标记的最有效方法是什么 - [适当性],无论值如何
- 识别值是否与 jqGrid 数据中的任何键匹配的正确方法是什么?
- JavaScript中的“符号”原始数据类型是什么?
- AngularJS中使用ajax获取数据的最佳方式是什么
- canvas' toDataURL() 函数可能的数据类型是什么?
- 正在获取[对象,对象],而不是整个用户数据.这是什么意思
- 什么'最合适的数据结构是什么?(使用一个有间隙的数组是否存在缺点或注意事项?)
- 在jQuery数据表中使用AngularJS观察者的方法是什么
- Spring MVC与Google图表,创建javascript数据表的最佳方式是什么
- 更新视图和控制器之间的角度重复数据值的最佳方式是什么
- 异步数据加载后提交HTML表单的正确方法是什么
- 处理从 PHP JavaScript (AJAX) 返回的数据的最正确/最友好的方法是什么?
- Node.js向/从MongoDB发送/返回纯文本数据的最基本方法是什么
- 标签在创建数据通道中的作用是什么以及如何正确使用它
- 在回调函数中呈现 Meteor 检索到的数据的正确语法是什么
- 获取对象数据的浅拷贝的最快方法是什么