本文整理匯總了TypeScript中@ember/service.extend函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript extend函數的具體用法?TypeScript extend怎麽用?TypeScript extend使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了extend函數的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: debugLogger
hooks.beforeEach(function(this: TestContext) {
this.owner.register('route:application', Route.extend({ debug: debugLogger() }), {});
this.owner.register('service:my/test/module', Service.extend({ debug: debugLogger() }), {});
debug.enable('route:*, service:*');
log = sinon.stub(console, 'log');
});
示例2: it
it('types the injected service', function() {
Service.extend({
ajax: service('ajax'),
makeRequest<T>(url: string) {
return this.get('ajax').request<T>(url);
}
});
});
示例3: getContext
export const stubService = (name: string, hash = {}, injections?: IInjection[]) => {
let stubbedService;
// TODO: need to be able to use an extended service that uses services. :)
if (hash instanceof Function) {
stubbedService = hash;
} else {
stubbedService = Service.extend(hash);
}
let { owner } = getContext();
let serviceName = `service:${name}`;
owner.register(serviceName, stubbedService);
if (injections) {
injections.forEach(injection => {
owner.application.inject(injection.in, injection.as, serviceName);
});
}
};
示例4:
import Service from '@ember/service';
import AjaxRequestMixin from '../mixins/ajax-request';
const AjaxService = Service.extend(AjaxRequestMixin);
export default AjaxService;
// DO NOT DELETE: this is how TypeScript knows how to look up your services.
export class AjaxServiceClass extends AjaxService {}
declare module '@ember/service' {
interface Registry {
ajax: AjaxServiceClass;
}
}
示例5: service
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);
},
transitionWithMultiModel() {
const model = EmberObject.create();
get(this, 'router')
.transitionTo('some.other.route', model, model);
},
transitionWithModelAndOptions() {
const model = EmberObject.create();
get(this, 'router')
.transitionTo('index', model, { queryParams: { search: 'ember' }});
},
onAndRouteInfo() {
const router = get(this, 'router');
router
.on('routeWillChange', transition => {
const to = transition.to;
to.child; // $ExpectType RouteInfo | null
to.localName; // $ExpectType string
to.name; // $ExpectType string
to.paramNames; // $ExpectType string[]
to.params.foo; // $ExpectType string | undefined
to.parent; // $ExpectType RouteInfo | null
to.queryParams.foo; // $ExpectType string | undefined
to.find(info => info.name === 'foo'); // $ExpectType RouteInfo | undefined
})
.on('routeDidChange', transition => {
const from = transition.from;
if (from) {
from.child; // $ExpectType RouteInfo | null
from.localName; // $ExpectType string
from.name; // $ExpectType string
from.paramNames; // $ExpectType string[]
from.params.foo; // $ExpectType string | undefined
from.parent; // $ExpectType RouteInfo | null
from.queryParams.foo; // $ExpectType string | undefined
from.find(info => info.name === 'foo'); // $ExpectType RouteInfo | undefined
}
});
},
});
示例6: service
});
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);
},
transitionWithMultiModel() {
const model = EmberObject.create();
get(this, 'router')
.transitionTo('some.other.route', model, model);
},
transitionWithModelAndOptions() {
const model = EmberObject.create();
get(this, 'router')
.transitionTo('index', model, { queryParams: { search: 'ember' }});
}
});