本页还没有译文
本页 702 段还没译成Português (BR),下面显示的是英文原文。useHotkeys
还没翻译译自英文(tanstack.com)本页 702 段都还没译
Defined in: packages/ember-hotkeys/src/useHotkeys.ts:13
Registers a reactive list of shortcuts with the helper's template lifecycle.
Extends
default<{Args: {Named:HotkeyOptions;Positional: [HotkeyDefinition[]]; };Return:void; }>
Constructors
Constructor
new useHotkeys(owner?): UseHotkeys;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/index.d.ts:28
Parameters
owner?
Owner
Returns
UseHotkeys
Inherited from
Helper<{
Args: { Positional: [Array<HotkeyDefinition>]; Named: HotkeyOptions }
Return: void
}>.constructorProperties
[Invoke]
[Invoke]: (...args) => void;Defined in: node_modules/.pnpm/@glint+template@1.9.0/node_modules/@glint/template/-private/integration.d.ts:22
Parameters
args
...[HotkeyDefinition[], NamedArgs<HotkeyOptions>]
Returns
void
Inherited from
Helper.[Invoke][OWNER]?
optional [OWNER]?: Owner;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:77
Internal
Inherited from
Helper.[OWNER][RECOMPUTE_TAG]
[RECOMPUTE_TAG]: DirtyableTag;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/-internals/glimmer/lib/helper.d.ts:103
Inherited from
Helper.[RECOMPUTE_TAG]concatenatedProperties?
optional concatenatedProperties?: string | string[];Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:637
Inherited from
Helper.concatenatedPropertiesmergedProperties?
optional mergedProperties?: unknown[];Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:638
Inherited from
Helper.mergedProperties_lazyInjections?
readonly static optional _lazyInjections?: () => void;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:636
Returns
void
Inherited from
Helper._lazyInjections_onLookup?
readonly static optional _onLookup?: (debugContainerKey) => void;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:635
Parameters
debugContainerKey
string
Returns
void
Inherited from
Helper._onLookup_without
static _without: any[] | undefined;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/mixin.d.ts:113
Internal
Inherited from
Helper._without[INIT_FACTORY]?
static optional [INIT_FACTORY]?: null;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/mixin.d.ts:114
Inherited from
Helper.[INIT_FACTORY][IS_CLASSIC_HELPER]
static [IS_CLASSIC_HELPER]: boolean;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/-internals/glimmer/lib/helper.d.ts:100
Inherited from
Helper.[IS_CLASSIC_HELPER]helper
static helper: {
<P, N, R> (helperFn): FunctionBasedHelper<{
Args: {
Named: N;
Positional: P;
};
Return: R;
}>;
<S> (helperFn): FunctionBasedHelper<S>;
};Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/-internals/glimmer/lib/helper.d.ts:102
Call Signature
<P, N, R>(helperFn): FunctionBasedHelper<{
Args: {
Named: N;
Positional: P;
};
Return: R;
}>;In many cases it is not necessary to use the full Helper class.
The helper method create pure-function helpers without instances.
For example:
import { helper } from '@ember/component/helper';
export default helper(function([cents], {currency}) {
return `${currency}${cents * 0.01}`;
});Type Parameters
P
P extends DefaultPositional
N
N extends object
R
R = unknown
Parameters
helperFn
(positional, named) => R
Returns
FunctionBasedHelper<{
Args: {
Named: N;
Positional: P;
};
Return: R;
}>
Static
Method
helper
For
@ember/component/helper
Since
1.13.0
Call Signature
<S>(helperFn): FunctionBasedHelper<S>;In many cases it is not necessary to use the full Helper class.
The helper method create pure-function helpers without instances.
For example:
import { helper } from '@ember/component/helper';
export default helper(function([cents], {currency}) {
return `${currency}${cents * 0.01}`;
});Type Parameters
S
S
Parameters
helperFn
(positional, named) => GetOr<S>
Returns
FunctionBasedHelper<S>
Static
Method
helper
For
@ember/component/helper
Since
1.13.0
Deprecated
Inherited from
Helper.helperisClass
readonly static isClass: boolean;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:633
Inherited from
Helper.isClassisHelperFactory
static isHelperFactory: boolean;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/-internals/glimmer/lib/helper.d.ts:99
Inherited from
Helper.isHelperFactoryisMethod
readonly static isMethod: boolean;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:634
Inherited from
Helper.isMethodmixins
static mixins: Mixin[] | undefined;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/mixin.d.ts:105
Internal
Inherited from
Helper.mixinsownerConstructor
static ownerConstructor: any;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/mixin.d.ts:111
Internal
Inherited from
Helper.ownerConstructorproperties
static properties:
| {
[key: string]: any;
}
| undefined;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/mixin.d.ts:107
Internal
Inherited from
Helper.propertiesPrototypeMixin
static PrototypeMixin: any;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:629
Inherited from
Helper.PrototypeMixinsuperclass
static superclass: any;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:630
Inherited from
Helper.superclassAccessors
_debugContainerKey
Get Signature
get _debugContainerKey(): false | `${string}:${string}`;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/index.d.ts:30
Returns
false | `${string}:${string}`
Inherited from
Helper._debugContainerKeyisDestroyed
Get Signature
get isDestroyed(): boolean;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:270
Destroyed object property flag.
if this property is true the observers and bindings were already
removed by the effect of calling the destroy() method.
Default
false
@publicReturns
boolean
Set Signature
set isDestroyed(_value): void;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:271
Parameters
_value
boolean
Returns
void
Inherited from
Helper.isDestroyedisDestroying
Get Signature
get isDestroying(): boolean;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:282
Destruction scheduled flag. The destroy() method has been called.
The object stays intact until the end of the run loop at which point
the isDestroyed flag is set.
Default
false
@publicReturns
boolean
Set Signature
set isDestroying(_value): void;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:283
Parameters
_value
boolean
Returns
void
Inherited from
Helper.isDestroyingMethods
_super()
_super(...args): any;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:73
Internal
Parameters
args
...any[]
Returns
any
Inherited from
Helper._superaddObserver()
Call Signature
addObserver<Target>(
key,
target,
method): this;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/observable.d.ts:322
Adds an observer on a property.
This is the core method used to register an observer for a property.
Once you call this method, any time the key's value is set, your observer will be notified. Note that the observers are triggered any time the value is set, regardless of whether it has actually changed. Your observer should be prepared to handle that.
There are two common invocation patterns for .addObserver():
- Passing two arguments:
- the name of the property to observe (as a string)
- the function to invoke (an actual function)
- Passing three arguments:
- the name of the property to observe (as a string)
- the target object (will be used to look up and invoke a function on)
- the name of the function to invoke on the target object (as a string).
import Component from '@ember/component';
export default Component.extend({
init() {
this._super(...arguments);
// the following are equivalent:
// using three arguments
this.addObserver('foo', this, 'fooDidChange');
// using two arguments
this.addObserver('foo', (...args) => {
this.fooDidChange(...args);
});
},
fooDidChange() {
// your custom logic code
}
});Observer Methods
Observer methods have the following signature:
import Component from '@ember/component';
export default Component.extend({
init() {
this._super(...arguments);
this.addObserver('foo', this, 'fooDidChange');
},
fooDidChange(sender, key, value, rev) {
// your code
}
});The sender is the object that changed. The key is the property that
changes. The value property is currently reserved and unused. The rev
is the last property revision of the object when it changed, which you can
use to detect if the key value has really changed or not.
Usually you will not need the value or revision parameters at the end. In this case, it is common to write observer methods that take only a sender and key value as parameters or, if you aren't interested in any of these values, to write an observer that has no parameters at all.
While observers are still supported, there are plans to deprecate them See the in-progress deprecation guide for guidance on how to avoid using observers.
Type Parameters
Target
Target
Parameters
key
keyof UseHotkeys
The key to observe
target
Target
The target object to invoke
method
ObserverMethod<Target, UseHotkeys>
The method to invoke
Returns
this
Method
addObserver
Inherited from
Helper.addObserverCall Signature
addObserver(key, method): this;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/observable.d.ts:323
Parameters
key
keyof UseHotkeys
method
ObserverMethod<UseHotkeys, UseHotkeys>
Returns
this
Inherited from
Helper.addObservercacheFor()
cacheFor<K>(key): unknown;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/observable.d.ts:394
Returns the cached value of a computed property, if it exists. This allows you to inspect the value of a computed property without accidentally invoking it if it is intended to be generated lazily.
Type Parameters
K
K extends keyof UseHotkeys
Parameters
key
K
Returns
unknown
The cached value of the computed property, if any
Method
cacheFor
Inherited from
Helper.cacheForcompute()
compute(positional, options): void;Defined in: packages/ember-hotkeys/src/useHotkeys.ts:22
Override this function when writing a class-based helper.
Parameters
positional
[HotkeyDefinition[]]
The positional arguments to the helper
options
HotkeyOptions
Returns
void
Method
compute
Since
1.13.0
Overrides
Helper.computedecrementProperty()
decrementProperty(keyName, decrement?): number;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/observable.d.ts:368
Set the value of a property to the current value minus some amount.
player.decrementProperty('lives');
orc.decrementProperty('health', 5);Parameters
keyName
keyof UseHotkeys
The name of the property to decrement
decrement?
number
The amount to decrement by. Defaults to 1
Returns
number
The new property value
Method
decrementProperty
Inherited from
Helper.decrementPropertydestroy()
destroy(): this;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:298
Destroys an object by setting the isDestroyed flag and removing its
metadata, which effectively destroys observers and bindings.
If you try to set a property on a destroyed object, an exception will be raised.
Note that destruction is scheduled for the end of the run loop and does not happen immediately. It will set an isDestroying flag immediately.
Returns
this
receiver
Method
destroy
Inherited from
Helper.destroyget()
Call Signature
get<K>(key): UseHotkeys[K];Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/observable.d.ts:119
Retrieves the value of a property from the object.
This method is usually similar to using object[keyName] or object.keyName,
however it supports both computed properties and the unknownProperty
handler.
Because get unifies the syntax for accessing all these kinds
of properties, it can make many refactorings easier, such as replacing a
simple property with a computed property, or vice versa.
Computed Properties
Computed properties are methods defined with the property modifier
declared at the end, such as:
import { computed } from '@ember/object';
fullName: computed('firstName', 'lastName', function() {
return this.get('firstName') + ' ' + this.get('lastName');
})When you call get on a computed property, the function will be
called and the return value will be returned instead of the function
itself.
Unknown Properties
Likewise, if you try to call get on a property whose value is
undefined, the unknownProperty() method will be called on the object.
If this method returns any value other than undefined, it will be returned
instead. This allows you to implement "virtual" properties that are
not defined upfront.
Type Parameters
K
K extends keyof UseHotkeys
Parameters
key
K
Returns
UseHotkeys[K]
The property value or undefined.
Method
get
Inherited from
Helper.getCall Signature
get(key): unknown;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/observable.d.ts:120
Parameters
key
string
Returns
unknown
Inherited from
Helper.getgetProperties()
Call Signature
getProperties<L>(list): { [Key in keyof useHotkeys]: useHotkeys[Key] };Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/observable.d.ts:142
To get the values of multiple properties at once, call getProperties
with a list of strings or an array:
record.getProperties('firstName', 'lastName', 'zipCode');
// { firstName: 'John', lastName: 'Doe', zipCode: '10011' }is equivalent to:
record.getProperties(['firstName', 'lastName', 'zipCode']);
// { firstName: 'John', lastName: 'Doe', zipCode: '10011' }Type Parameters
L
L extends keyof UseHotkeys[]
Parameters
list
L
of keys to get
Returns
{ [Key in keyof useHotkeys]: useHotkeys[Key] }
Method
getProperties
Inherited from
Helper.getPropertiesCall Signature
getProperties<L>(...list): { [Key in keyof useHotkeys]: useHotkeys[Key] };Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/observable.d.ts:145
Type Parameters
L
L extends keyof UseHotkeys[]
Parameters
list
...L
Returns
{ [Key in keyof useHotkeys]: useHotkeys[Key] }
Inherited from
Helper.getPropertiesCall Signature
getProperties<L>(list): { [Key in string]: unknown };Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/observable.d.ts:148
Type Parameters
L
L extends string[]
Parameters
list
L
Returns
{ [Key in string]: unknown }
Inherited from
Helper.getPropertiesCall Signature
getProperties<L>(...list): { [Key in string]: unknown };Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/observable.d.ts:151
Type Parameters
L
L extends string[]
Parameters
list
...L
Returns
{ [Key in string]: unknown }
Inherited from
Helper.getPropertiesincrementProperty()
incrementProperty(keyName, increment?): number;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/observable.d.ts:353
Set the value of a property to the current value plus some amount.
person.incrementProperty('age');
team.incrementProperty('score', 2);Parameters
keyName
keyof UseHotkeys
The name of the property to increment
increment?
number
The amount to increment by. Defaults to 1
Returns
number
The new property value
Method
incrementProperty
Inherited from
Helper.incrementPropertyinit()
init(properties): void;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/-internals/glimmer/lib/helper.d.ts:105
An overridable method called when objects are instantiated. By default, does nothing unless it is overridden during class definition.
Example:
import EmberObject from '@ember/object';
const Person = EmberObject.extend({
init() {
alert(`Name is ${this.get('name')}`);
}
});
let steve = Person.create({
name: 'Steve'
});
// alerts 'Name is Steve'.NOTE: If you do override init for a framework class like Component
from @ember/component, be sure to call this._super(...arguments)
in your init declaration!
If you don't, Ember may not have an opportunity to
do important setup work, and you'll see strange behavior in your
application.
Parameters
properties
object | undefined
Returns
void
Method
init
Inherited from
Helper.initnotifyPropertyChange()
notifyPropertyChange(keyName): this;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/observable.d.ts:234
Convenience method to call propertyWillChange and propertyDidChange in
succession.
Notify the observer system that a property has just changed.
Sometimes you need to change a value directly or indirectly without
actually calling get() or set() on it. In this case, you can use this
method instead. Calling this method will notify all observers that the
property has potentially changed value.
Parameters
keyName
string
The property key to be notified about.
Returns
this
Method
notifyPropertyChange
Inherited from
Helper.notifyPropertyChangerecompute()
recompute(): void;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/-internals/glimmer/lib/helper.d.ts:142
On a class-based helper, it may be useful to force a recomputation of that
helpers value. This is akin to rerender on a component.
In most cases, recompute is not needed because accessing tracked
properties in compute will automatically re-run the helper when
those properties change. Use recompute only when you need to
trigger a recomputation imperatively, for example in response to an
external event:
import Helper from '@ember/component/helper';
export default class CurrentTimeHelper extends Helper {
interval = null;
compute() {
return new Date().toLocaleTimeString();
}
constructor() {
super(...arguments);
this.interval = setInterval(() => this.recompute(), 1000);
}
willDestroy() {
super.willDestroy();
clearInterval(this.interval);
}
}Returns
void
Method
recompute
Since
1.13.0
Inherited from
Helper.recomputeremoveObserver()
Call Signature
removeObserver<Target>(
key,
target,
method): this;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/observable.d.ts:337
Remove an observer you have previously registered on this object. Pass
the same key, target, and method you passed to addObserver() and your
target will no longer receive notifications.
Type Parameters
Target
Target
Parameters
key
keyof UseHotkeys
The key to observe
target
Target
The target object to invoke
method
ObserverMethod<Target, UseHotkeys>
The method to invoke
Returns
this
Method
removeObserver
Inherited from
Helper.removeObserverCall Signature
removeObserver(key, method): this;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/observable.d.ts:338
Parameters
key
keyof UseHotkeys
method
ObserverMethod<UseHotkeys, UseHotkeys>
Returns
this
Inherited from
Helper.removeObserverreopen()
reopen(...args): this;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:79
Parameters
args
...(Record<string, unknown> | Mixin)[]
Returns
this
Inherited from
Helper.reopenset()
Call Signature
set<K, T>(key, value): T;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/observable.d.ts:198
Sets the provided key or path to the value.
record.set("key", value);This method is generally very similar to calling object["key"] = value or
object.key = value, except that it provides support for computed
properties, the setUnknownProperty() method and property observers.
Computed Properties
If you try to set a value on a key that has a computed property handler
defined (see the get() method for an example), then set() will call
that method, passing both the value and key instead of simply changing
the value itself. This is useful for those times when you need to
implement a property that is composed of one or more member
properties.
Unknown Properties
If you try to set a value on a key that is undefined in the target
object, then the setUnknownProperty() handler will be called instead. This
gives you an opportunity to implement complex "virtual" properties that
are not predefined on the object. If setUnknownProperty() returns
undefined, then set() will simply set the value on the object.
Property Observers
In addition to changing the property, set() will also register a property
change with the object. Unless you have placed this call inside of a
beginPropertyChanges() and endPropertyChanges(), any "local" observers
(i.e. observer methods declared on the same object), will be called
immediately. Any "remote" observers (i.e. observer methods declared on
another object) will be placed in a queue and called at a later time in a
coalesced manner.
Type Parameters
K
K extends keyof UseHotkeys
T
T extends
| string
| boolean
| unknown[]
| string[]
| ((...args) => void)
| ((positional, options) => void)
| Owner
| DirtyableTag
| ((properties) => void)
| (() => void)
| ((...args) => this)
| (() => this)
| ({
<K> (key): UseHotkeys[K];
(key): unknown;
})
| ({
<L> (list): { [Key in keyof useHotkeys]: useHotkeys[Key] };
<L> (...list): { [Key in keyof useHotkeys]: useHotkeys[Key] };
<L> (list): { [Key in string]: unknown };
<L> (...list): { [Key in string]: unknown };
})
| ({
<K, T> (key, value): T;
<T> (key, value): T;
})
| ({
<K, P> (hash): P;
<T> (hash): T;
})
| ((keyName) => this)
| ({
<Target> (key, target, method): this;
(key, method): this;
})
| ({
<Target> (key, target, method): this;
(key, method): this;
})
| ((keyName, increment?) => number)
| ((keyName, decrement?) => number)
| ((keyName) => boolean)
| (<K>(key) => unknown)
| ((...args) => any)
| (() => void)
| (() => string)
| undefined
Parameters
key
K
value
T
The value to set or null.
Returns
T
The passed value
Method
set
Inherited from
Helper.setCall Signature
set<T>(key, value): T;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/observable.d.ts:199
Type Parameters
T
T
Parameters
key
string
value
T
Returns
T
Inherited from
Helper.setsetProperties()
Call Signature
setProperties<K, P>(hash): P;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/observable.d.ts:214
Sets a list of properties at once. These properties are set inside
a single beginPropertyChanges and endPropertyChanges batch, so
observers will be buffered.
record.setProperties({ firstName: 'Charles', lastName: 'Jolley' });Type Parameters
K
K extends keyof UseHotkeys
P
P extends { [Key in keyof useHotkeys]: useHotkeys[Key] }
Parameters
hash
P
the hash of keys and values to set
Returns
P
The passed in hash
Method
setProperties
Inherited from
Helper.setPropertiesCall Signature
setProperties<T>(hash): T;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/observable.d.ts:217
Type Parameters
T
T extends Record<string, unknown>
Parameters
hash
T
Returns
T
Inherited from
Helper.setPropertiestoggleProperty()
toggleProperty(keyName): boolean;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/observable.d.ts:382
Set the value of a boolean property to the opposite of its current value.
starship.toggleProperty('warpDriveEngaged');Parameters
keyName
keyof UseHotkeys
The name of the property to toggle
Returns
boolean
The new property value
Method
toggleProperty
Inherited from
Helper.togglePropertytoString()
toString(): string;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:345
Returns a string representation which attempts to provide more information
than Javascript's toString typically does, in a generic way for all Ember
objects.
import EmberObject from '@ember/object';
const Person = EmberObject.extend();
person = Person.create();
person.toString(); //=> "<Person:ember1024>"If the object's class is not defined on an Ember namespace, it will indicate it is a subclass of the registered superclass:
const Student = Person.extend();
let student = Student.create();
student.toString(); //=> "<(subclass of Person):ember1025>"If the method toStringExtension is defined, its return value will be
included in the output.
const Teacher = Person.extend({
toStringExtension() {
return this.get('fullName');
}
});
teacher = Teacher.create();
teacher.toString(); //=> "<Teacher:ember1026:Tom Dale>"Returns
string
string representation
Method
toString
Inherited from
Helper.toStringwillDestroy()
willDestroy(): void;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:305
Override to implement teardown.
Returns
void
Method
willDestroy
Inherited from
Helper.willDestroyapplyPartial()
static applyPartial(obj): Record<string, any>;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/mixin.d.ts:145
Internal
Parameters
obj
object
Returns
Record<string, any>
Inherited from
Helper.applyPartialcreate()
Call Signature
readonly static create<C>(this): InstanceType<C>;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:482
Creates an instance of a class. Accepts either no arguments, or an object containing values to initialize the newly instantiated object with.
import EmberObject from '@ember/object';
const Person = EmberObject.extend({
helloWorld() {
alert(`Hi, my name is ${this.get('name')}`);
}
});
let tom = Person.create({
name: 'Tom Dale'
});
tom.helloWorld(); // alerts "Hi, my name is Tom Dale".create will call the init function if defined during
AnyObject.extend
If no arguments are passed to create, it will not set values to the new
instance during initialization:
let noName = Person.create();
noName.helloWorld(); // alerts undefinedNOTE: For performance reasons, you cannot declare methods or computed
properties during create. You should instead declare methods and computed
properties when using extend.
Type Parameters
C
C extends typeof CoreObject
Parameters
this
C
Returns
InstanceType<C>
Method
create
For
@ember/object
Static
Inherited from
Helper.createCall Signature
readonly static create<C, I, K, Args>(this, ...args): InstanceType<C> & MergeArray<Args>;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:483
Creates an instance of a class. Accepts either no arguments, or an object containing values to initialize the newly instantiated object with.
import EmberObject from '@ember/object';
const Person = EmberObject.extend({
helloWorld() {
alert(`Hi, my name is ${this.get('name')}`);
}
});
let tom = Person.create({
name: 'Tom Dale'
});
tom.helloWorld(); // alerts "Hi, my name is Tom Dale".create will call the init function if defined during
AnyObject.extend
If no arguments are passed to create, it will not set values to the new
instance during initialization:
let noName = Person.create();
noName.helloWorld(); // alerts undefinedNOTE: For performance reasons, you cannot declare methods or computed
properties during create. You should instead declare methods and computed
properties when using extend.
Type Parameters
C
C extends typeof CoreObject
I
I extends CoreObject
K
K extends string | number | symbol
Args
Args extends Partial<{ [Key in string | number | symbol]: I[Key] }>[]
Parameters
this
C
args
...Args
Returns
InstanceType<C> & MergeArray<Args>
Method
create
For
@ember/object
Static
Inherited from
Helper.createdetectInstance()
readonly static detectInstance(obj): obj is CoreObject;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:585
Parameters
obj
unknown
Returns
obj is CoreObject
Inherited from
Helper.detectInstanceextend()
readonly static extend<Statics, Instance, M>(this, ...mixins?): Readonly<Statics> & EmberClassConstructor<Instance> & MergeArray<M>;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:440
Creates a new subclass.
import EmberObject from '@ember/object';
const Person = EmberObject.extend({
say(thing) {
alert(thing);
}
});This defines a new subclass of EmberObject: Person. It contains one method: say().
You can also create a subclass from any existing class by calling its extend() method.
For example, you might want to create a subclass of Ember's built-in Component class:
import Component from '@ember/component';
const PersonComponent = Component.extend({
tagName: 'li',
classNameBindings: ['isAdministrator']
});When defining a subclass, you can override methods but still access the
implementation of your parent class by calling the special _super() method:
import EmberObject from '@ember/object';
const Person = EmberObject.extend({
say(thing) {
let name = this.get('name');
alert(`${name} says: ${thing}`);
}
});
const Soldier = Person.extend({
say(thing) {
this._super(`${thing}, sir!`);
},
march(numberOfHours) {
alert(`${this.get('name')} marches for ${numberOfHours} hours.`);
}
});
let yehuda = Soldier.create({
name: 'Yehuda Katz'
});
yehuda.say('Yes'); // alerts "Yehuda Katz says: Yes, sir!"The create() on line #17 creates an instance of the Soldier class.
The extend() on line #8 creates a subclass of Person. Any instance
of the Person class will not have the march() method.
You can also pass Mixin classes to add additional properties to the subclass.
import EmberObject from '@ember/object';
import Mixin from '@ember/object/mixin';
const Person = EmberObject.extend({
say(thing) {
alert(`${this.get('name')} says: ${thing}`);
}
});
const SingingMixin = Mixin.create({
sing(thing) {
alert(`${this.get('name')} sings: la la la ${thing}`);
}
});
const BroadwayStar = Person.extend(SingingMixin, {
dance() {
alert(`${this.get('name')} dances: tap tap tap tap `);
}
});The BroadwayStar class contains three methods: say(), sing(), and dance().
Type Parameters
Statics
Statics
Instance
Instance
M
M extends unknown[]
Parameters
this
Statics & EmberClassConstructor<Instance>
mixins?
...M
One or more Mixin classes
Returns
Readonly<Statics> & EmberClassConstructor<Instance> & MergeArray<M>
Method
extend
Static
For
@ember/object
Inherited from
Helper.extendkeys()
static keys(): Set<string>;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/mixin.d.ts:157
Internal
Returns
Set<string>
Inherited from
Helper.keysproto()
readonly static proto(): CoreObject;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:631
Returns
CoreObject
Inherited from
Helper.protoreopenClass()
readonly static reopenClass<C>(this, ...mixins): C;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:583
Augments a constructor's own properties and functions:
import EmberObject from '@ember/object';
const MyObject = EmberObject.extend({
name: 'an object'
});
MyObject.reopenClass({
canBuild: false
});
MyObject.canBuild; // false
o = MyObject.create();In other words, this creates static properties and functions for the class. These are only available on the class and not on any instance of that class.
import EmberObject from '@ember/object';
const Person = EmberObject.extend({
name: '',
sayHello() {
alert(`Hello. My name is ${this.get('name')}`);
}
});
Person.reopenClass({
species: 'Homo sapiens',
createPerson(name) {
return Person.create({ name });
}
});
let tom = Person.create({
name: 'Tom Dale'
});
let yehuda = Person.createPerson('Yehuda Katz');
tom.sayHello(); // "Hello. My name is Tom Dale"
yehuda.sayHello(); // "Hello. My name is Yehuda Katz"
alert(Person.species); // "Homo sapiens"Note that species and createPerson are not valid on the tom and yehuda
variables. They are only valid on Person.
To add functions and properties to instances of
a constructor by extending the constructor's prototype
see reopen
Type Parameters
C
C extends typeof CoreObject
Parameters
this
C
mixins
...(Record<string, unknown> | Mixin)[]
Returns
C
Method
reopenClass
For
@ember/object
Static
Inherited from
Helper.reopenClasstoString()
static toString(): string;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:632
Returns
string
Inherited from
Helper.toStringwillReopen()
readonly static willReopen(): void;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/core.d.ts:521
Returns
void
Inherited from
Helper.willReopenwithout()
static without(...args): Mixin;Defined in: node_modules/.pnpm/ember-source@7.3.0_@glimmer+component@2.1.1_supports-color@8.1.1__supports-color@8.1.1/node_modules/ember-source/types/stable/@ember/object/mixin.d.ts:155
Internal
Parameters
args
...any[]
Returns
Mixin
Inherited from
Helper.without