iron router - How to extend a main controller within a meteor package -
what right way extend main controller within meteor package?
this case, main controller inside app.js
file, located in
both/controllers/app.js
the content is
appcontroller = routecontroller.extend({ layouttemplate: 'applayout' });
inside my-package folder, i've created router.js
file
packages/my-package/lib/router.js
below content of file, here came question: why if move dashboardcontroller
declaration outside meteor.startup() function, doesn't work?
dashboardcontroller = appcontroller.extend({}); // here doesn't work meteor.startup(function () { router.route('/dashboard', { controller: dashboardcontroller, name: 'dashboard' });
the output is
referenceerror: appcontroller not defined
why if move dashboardcontroller declaration outside meteor.startup() function, doesn't work?
that's because of load order of meteor build process : every package js files loaded according dependencies between them , after actual application code executed (which makes sense).
the solution move dashboardcontroller
inside meteor.startup
block it's executed after application code had chance define appcontroller
.
you move appcontroller
inside application-core
or application-controllers
local package of yours , depend on package.
Comments
Post a Comment