Ember.JS: Ember-Objects和它们被导出到的位置
Ember.JS: Ember-Objects and where they are exported to
我正在尝试掌握Ember.JS的底层系统。这些Ember-Objects 导出到哪里,它们是如何使用的?
<组件/em>:
export default Ember.Component.extend({ ... });
<控制器/em>:
export default Ember.Controller.extend({ ... });
模型em>:
export default DS.Model.extend({ ... });
<路线/em>:
export default Ember.Route.extend({ ... });
…它们都遵循相同的结构:它们扩展某个对象并导出某个对象。
有人知道更多吗?谢谢!
我认为你对export
关键字的理解是错误的。
这并不意味着文件在其他地方以不同的格式写入,但是:
如果一个模块(= file)是
import
ed的,那么该文件中export
ed的内容对于导入器是可用的。
可以把它看作是使某些部分对其他模块可用,简单来说就是一个公共API。
烬文件通常只导出一个东西,因为有一个强大的命名约定使烬引擎工作的方式。
这就是为什么如果您声明一个/user
路由,它将尝试使用您的routes/user.js
、controllers/user.js
和templates/user.hbs
文件(如果它们存在的话),而不必指定任何内容。同样,这也是组件在模板中可用的原因。
因此您可以在这些文件中找到一行export default Ember.Something.extend({ ... });
。
但是,您可以在单个文件中使用包含多个export
语句的模块(= files),这是完全有效的。
// Example from babel website
// lib/mathplusplus.js
export * from "lib/math";
export var e = 2.71828182846;
export default function(x) {
return Math.exp(x);
}
// app.js
import exp, {pi, e} from "lib/mathplusplus";
console.log("e^π = " + exp(pi));
Learn ES2015 from Babel网站有一些例子,你可以在MDN上阅读更多关于export
声明的内容。
在Ember应用程序中,根据我的经验,您将发现具有多个导出的文件主要位于某些目录中,这些目录意味着应用程序中的多个模块可以使用,或者没有绑定到Ember引擎的自动导入,如某些实用程序。
下面的示例显示了Ember.Controller
导入从另一个模块导出的变量:
// utils/messages.js
export var hello = 'Hello!';
export var bye = 'Good Bye!'
// controllers/hello.js
import { hello } from "utils/messages";
export default Ember.Controller.extend({
firstName: 'David',
helloString: Ember.computed('firstName', function(){
return `${hello} ${this.get('firstName')}`;
})
});
- React JS:未捕获(在承诺中)语法错误:在位置 0 的 JSON 中意外<令牌
- 当浏览器位置更改时重新渲染React.js
- 通过拖动可以更改三维模型对象在Three.js场景中的位置
- css/js:通过滚动固定位置
- 将Rails后端添加到JS/HTML/CSS应用程序时,正确的文件位置是什么
- Famo.us Js-将实体(粒子)设置到位置的动画
- 如何获取node.js系统CLI应用程序的位置
- xml文件在js项目目录结构中的位置
- 使用Planetary.js将图像放置在适当位置
- Sammy.js缓存和滚动位置时,返回历史
- 如何在使用Passport.js和Sails.js注册后重定向到特定位置
- 不更改路由位置backline.js的触发器方法
- 返回的y值大于实际y位置[JS(无jQ)/DOM]
- 如何使用cy.load设置细胞景观中节点的起始位置.js
- 谷歌地图API使用Math.random获取随机位置 - JS
- 如何在图表中使用折线动态更改点位置.js
- 使用验证更改错误消息的位置.JS
- 我需要重新加载当前位置js
- 函数更改字符串中不工作的字符的位置.(JS)
- 拖动时获取鼠标位置(JS+HTML5)