Class ApplicationInstance.BootOptions
publicA list of boot-time configuration options for customizing the behavior of
an ApplicationInstance
.
This is an interface class that exists purely to document the available options; you do not need to construct it manually. Simply pass a regular JavaScript object containing the desired options into methods that require one of these options object:
MyApp.visit("/", { location: "none", rootElement: "#container" });
Not all combinations of the supported options are valid. See the documentation
on Application#visit
for the supported configurations.
Internal, experimental or otherwise unstable flags are marked as private.
document public
Defined in packages/@ember/application/instance.js:424
If present, render into the given Document
object instead of the
global window.document
object.
In practice, this is only useful in non-browser environment or in
non-interactive mode, because Ember's jQuery
dependency is
implicitly bound to the current document, causing event delegation
to not work properly when the app is rendered into a foreign
document object (such as an iframe's contentDocument
).
In non-browser mode, this could be a "Document
-like" object as
Ember only interact with a small subset of the DOM API in non-
interactive mode. While the exact requirements have not yet been
formalized, the SimpleDOM
library's implementation is known to
work.
isBrowser public
Defined in packages/@ember/application/instance.js:365
Run in a full browser environment.
When this flag is set to false
, it will disable most browser-specific
and interactive features. Specifically:
It does not use
jQuery
to append the root view; therootElement
(either specified as a subsequent option or on the application itself) must already be anElement
in the givendocument
(as opposed to a string selector).It does not set up an
EventDispatcher
.It does not run any
Component
lifecycle hooks (such asdidInsertElement
).It sets the
location
option to"none"
. (If you would like to use the location adapter specified in the app's router instead, you can also specify{ location: null }
to specifically opt-out.)
location public
Defined in packages/@ember/application/instance.js:476
If present, overrides the router's location
property with this
value. This is useful for environments where trying to modify the
URL would be inappropriate.
rootElement public
Defined in packages/@ember/application/instance.js:451
If present, overrides the application's rootElement
property on
the instance. This is useful for testing environment, where you
might want to append the root view to a fixture area.
In non-browser mode, because Ember does not have access to jQuery,
this options must be specified as a DOM Element
object instead of
a selector string.
See the documentation on Application
's rootElement
for
details.
shouldRender public
Defined in packages/@ember/application/instance.js:401
Disable rendering completely.
When this flag is set to false
, it will disable the entire rendering
pipeline. Essentially, this puts the app into "routing-only" mode. No
templates will be rendered, and no Components will be created.