javascript - 在 Angular 组件中共享大的 json 数据是好是坏?

标签 javascript angularjs json angular components

考虑下面的代码,共享一个大的 json 数据作为测试组件或使用服务的输入是否很好。

vm.data = [{name: 'John'},{name: 'Steve'},...];

<test-component big-data="{{vm.data}}"></test-component>

哪种方法是使用 Angular 1.5 和 Angular-2 组件的理想方法?

最佳答案

您似乎正在通过一个简单的属性或通过 @ 将数据传递给组件。

我认为你应该定义 big-data通过 < 作为绑定(bind)参数,它允许您传递 Angular 表达式,然后将数据传递给组件。引入它正是为了避免 @当您想避免对象转换时。

关于将数据传递给组件,如果您的组件操作该数据,那么您肯定可以直接将所有数据作为绑定(bind)参数传递给它。 实际上对此没有任何限制。

然后,如果最好在组件和应用程序之间使用共享服务来获取数据,这通常取决于具体的用例。

例如,如果您的组件始终使用相同类型的数据,并且始终通过相同的请求检索,则也许您可以通过嵌入式服务直接在组件内部获取数据。

但实际上组件的目标是拥有可重用的代码,因此通常您所采用的方法是一个不错的选择,因为您的组件可以重用以提供任何类型的数据。

实际上,数据是开箱即用的,它的工作不依赖于特定的数据。

我希望这有帮助。

关于javascript - 在 Angular 组件中共享大的 json 数据是好是坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44178675/

相关文章:

javascript - 更改 JavaScript 函数定义导致 Object 在 IE 上不支持属性或方法,但在 chrome 中可用

javascript - jQuery - 重定向到页面后更改页面的属性

php - 使用 Swift 在 POST 请求中将正确转义的 JSON 提交给 PHP

javascript - JavaScript 中使用 call 方法借用方法和使用 "="运算符的方法借用有什么区别?

javascript - 如果 js 添加链接,则 event.preventDefault() 不起作用

angularjs - 如何将模块菜单项的顺序更改为mean.io?

javascript - 如何在滚动时使这些 tagHovers 的位置靠近标签并且 tagHover 具有固定位置?

angularjs - 如何将包含在 ng-include 中的表单设置为 prestine?

php - 在 CodeIgniter 中使用 AJAX 从数据库中获取一行?

java - 将 JSON 字符串转换为具有自定义类型的 Map