javascript - Ember.js - 如何在更多路线之间共享路线模型数据? - 为什么不在组件中加载数据?

标签 javascript angularjs ember.js

长话短说 Embers 组件只是智能 HTML 模板。为什么他们不像 Angular 那样自己获取数据?以及如何在更多 URL/页面上共享路由模型。似乎我必须知道哪个组件放在哪个 URL 上,我必须让它们成为路由模型上可用的数据。为什么这部分不在组件中?


我目前正在学习 Ember.js。我至少尝试过。 目前我很难理解为什么 Ember.js 会像现在这样。如果我在某些陈述中有误,请纠正我。我是 Ember.js 初学者。所以我在这里指出的可能不对。

假设我们在 / 上有一个请求然后 Ember 尝试在 app/routes/index.js 中找到一个路由模型这个文件包含我想要的数据的代码从后端获取。接下来 Ember 将在这个文件中呈现 app/templates/index.hbs 我有一个名为 car-list 的组件。

到目前为止没有问题,但让我们仔细看看。对我来说,一开始我必须自己获取数据感觉很奇怪,为什么组件不自己做这个?下一个问题是如何在更多路由之间共享模型获取逻辑?也许我想将我的组件放在许多 URL/页面/路由上,然后我必须复制路由模型逻辑?

在我看来,组件应该自己获取数据,这样您就可以轻松地将组件插入其他页面,而无需复制整个路由模型获取逻辑。

所以我必须知道哪些组件放置在哪个 URL 上,我必须让它们成为路由模型上可用的数据。为什么这部分不在组件中?

所以也许我只是对 Ember 不够好,我只是忽略了一些东西?

最佳答案

组件非常灵活。组件可以重复使用。例如,您可以创建一个表格组件并用于汽车、轮船等。

因此,为了可重用性,最好将提供的模型与组件分开。

但是如果你想做一个当前项目的组件,需要自己取数据,你可以在组件中取数据。

在某些情况下,您可能希望在路由中获取数据。例如,在您的页面中,您有多个组件,每个组件都需要一个在路由中获取的数据模型的投影。

所以这取决于您的要求,也许您需要在组件或路由中甚至两者(混合)中获取数据

关于javascript - Ember.js - 如何在更多路线之间共享路线模型数据? - 为什么不在组件中加载数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38980388/

相关文章:

javascript - 在 ember 模型保存上强制发送 post 请求

javascript - jQuerydialog() 在一个页面上有效,但在另一页上无效

javascript - node.js 中回调函数的作用域

javascript - 如何使用 setInterval 在 for 循环中顺序调用函数

javascript - javascript中查找数组中重复元素的方法有哪些

javascript - HTML5 文件阅读器 API : the event 'onload' does not fire

angularjs - 为什么 ng-click 处理程序被触发两次?

javascript - 解决后未将 promise 值放入模板

angularjs - Angular js 有哪些替代方案?

javascript - Ember 模型转 json