本文整理汇总了TypeScript中@ember/service.inject函数的典型用法代码示例。如果您正苦于以下问题:TypeScript inject函数的具体用法?TypeScript inject怎么用?TypeScript inject使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了inject函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: it
it('types the injected service', function() {
Service.extend({
ajax: service('ajax'),
makeRequest<T>(url: string) {
return this.get('ajax').request<T>(url);
}
});
});
示例2: init
`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.
@method init
@private
*/
init() {
this._super(...arguments);
// Map desired event name to invoke function
let eventName = get(this, 'eventName');
this.on(eventName, this, this._invoke);
},
_routing: injectService('-routing'),
/**
Accessed as a classname binding to apply the `LinkComponent`'s `disabledClass`
CSS `class` to the element when the link is disabled.
When `true` interactions with the element will not trigger route changes.
@property disabled
@private
*/
disabled: computed({
get(_key: string): boolean {
// always returns false for `get` because (due to the `set` just below)
// the cached return value from the set will prevent this getter from _ever_
// being called after a set has occured
return false;
示例3: service
import Mixin from '@ember/object/mixin';
import { inject as service } from '@ember/service';
import { get } from '@ember/object';
import { alias } from '@ember/object/computed';
export default Mixin.create({
/**
* The AJAX service to send requests through
*
* @property {AjaxService} ajaxService
* @public
*/
ajaxService: service('ajax'),
/**
* @property {string} host
* @public
*/
host: alias('ajaxService.host'),
/**
* @property {string} namespace
* @public
*/
namespace: alias('ajaxService.namespace'),
/**
* @property {object} headers
* @public
*/
headers: alias('ajaxService.headers'),
示例4: initialize
export function initialize (/* application */): void {
Router.reopen({
fastboot: service(),
didTransition (...args: any[]): void {
this._super(...args)
this._trackPage()
},
_trackPage () {
if (!get(this, 'fastboot').isFastBoot) {
scheduleOnce('afterRender', this, () => {
if (window.fathom) window.fathom('trackPageview')
})
}
}
})
}
示例5: function
this.route('new');
this.route('post', { path: '/post/:post_id', resetNamespace: true });
this.route('comments', { resetNamespace: true }, function() {
this.route('new');
});
});
this.route('photo', { path: '/photo/:id' }, function() {
this.route('comment', { path: '/comment/:id' });
});
this.route('not-found', { path: '/*path' });
this.mount('my-engine');
this.mount('my-engine', { as: 'some-other-engine', path: '/some-other-engine'});
});
const RouterServiceConsumer = Service.extend({
router: service('router'),
currentRouteName() {
const x: string = get(this, 'router').currentRouteName;
},
currentURL() {
const x: string = get(this, 'router').currentURL;
},
transitionWithoutModel() {
get(this, 'router')
.transitionTo('some-route');
},
transitionWithModel() {
const model = EmberObject.create();
get(this, 'router')
.transitionTo('some.other.route', model);
},