javascript - Ember.JS: Ember-Objects and where they are exported to -
i trying grasp underlying system of ember.js. whereto ember-objects exported , how used?
components:
export default ember.component.extend({ ... });
controllers:
export default ember.controller.extend({ ... });
models:
export default ds.model.extend({ ... });
routes:
export default ember.route.extend({ ... });
... follow same structure: extend object , export something.
somebody knows more? thanks!
i think interpreting export
keyword wrong here.
it doesn't mean files written somewhere else in different format, but:
if module (= file)
import
ed, things in fileexport
ed available importer.
think of making parts available other modules, public api in shorter terms.
ember files export 1 thing there strong naming convention making ember engine work way.
why if declare /user
route, try use routes/user.js
, controllers/user.js
, , templates/user.hbs
files if exist, without having specify anything. in similar way, makes component usable inside template.
hence one-liner export default ember.something.extend({ ... });
find in these files.
however, can have modules (= files) multiple export
statements in single file, valid.
// example babel website // lib/mathplusplus.js export * "lib/math"; export var e = 2.71828182846; export default function(x) { return math.exp(x); } // app.js import exp, {pi, e} "lib/mathplusplus"; console.log("e^π = " + exp(pi));
the learn es2015 babel website has few examples, , can read more export
statement on mdn.
in ember applications, - experience - find files multiple exports in directories meant used more 1 module in application, or not bound ember engine auto-import, utils.
the following example shows ember.controller
importing variable exported module:
// utils/messages.js export var hello = 'hello!'; export var bye = 'good bye!' // controllers/hello.js import { hello } "utils/messages"; export default ember.controller.extend({ firstname: 'david', hellostring: ember.computed('firstname', function(){ return `${hello} ${this.get('firstname')}`; }) });
Comments
Post a Comment