本文整理匯總了TypeScript中ember.Mixin類的典型用法代碼示例。如果您正苦於以下問題:TypeScript Mixin類的具體用法?TypeScript Mixin怎麽用?TypeScript Mixin使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了Mixin類的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: resolve
resolve('ok!');
// on failure
reject('no-k!');
});
promise.then(
(value: any) => {
// on fulfillment
},
(reason: any) => {
// on rejection
}
);
// make sure Ember.RSVP.Promise can be reference as a type
declare function promiseReturningFunction(urn: string): Ember.RSVP.Promise<string>;
const mix1 = Ember.Mixin.create({
foo: 1,
});
const mix2 = Ember.Mixin.create({
bar: 2,
});
const component1 = Ember.Component.extend(mix1, mix2, {
lyft: Ember.inject.service(),
cars: Ember.computed.readOnly('lyft.cars'),
});
示例2: edit
import Ember from 'ember';
import { assertType } from "./lib/assert";
interface EditableMixin {
edit(): void;
isEditing: boolean;
}
const EditableMixin = Ember.Mixin.create<EditableMixin, Ember.Route>({
edit() {
this.get('controller');
console.log('starting to edit');
this.set('isEditing', true);
},
isEditing: false
});
const EditableComment = Ember.Route.extend(EditableMixin, {
postId: 0,
canEdit() {
return !this.isEditing;
},
tryEdit() {
if (this.canEdit()) {
this.edit();
}
}
});
示例3: reject
// on failure
reject('no-k!');
});
promise.then(
(value: any) => {
// on fulfillment
},
(reason: any) => {
// on rejection
}
);
const mix1 = Ember.Mixin.create({
foo: 1,
});
const mix2 = Ember.Mixin.create({
bar: 2,
});
const mix3 = Ember.Mixin.create({
foo: 3,
});
const mix4 = Ember.Mixin.create({
bar: 4,
});
const mix5 = Ember.Mixin.create({
示例4:
import Ember from 'ember';
export default Ember.Mixin.create({
_setAppNavTitle(title: string) {
const application = this.controllerFor('application');
application.set('navTitle', title);
},
_setAppNavTitleFromModelName() {
const model = this.get('currentModel');
const name = model.get('name');
this.set('title', name);
this._setAppNavTitle(name);
},
_hideSideNav() {
const application = this.controllerFor('application');
application.set('showSidebar', false);
},
_showSideNav() {
const application = this.controllerFor('application');
application.set('showSidebar', true);
}
});
示例5: edit
import Ember from 'ember';
import { assertType } from "./lib/assert";
interface EditableMixin {
edit(): void;
isEditing: boolean;
}
const EditableMixin: Ember.Mixin<EditableMixin, Ember.Route> = Ember.Mixin.create({
edit() {
this.get('controller');
console.log('starting to edit');
this.set('isEditing', true);
},
isEditing: false
});
const EditableComment = Ember.Route.extend(EditableMixin, {
postId: 0,
canEdit() {
return !this.isEditing;
},
tryEdit() {
if (this.canEdit()) {
this.edit();
}
}
});
示例6: alert
alert(Person2.species); // "Homo sapiens"
const Person3 = Person2.reopen({
goodbyeMessage: 'goodbye',
sayGoodbye() {
alert(`${this.get('goodbyeMessage')}, ${this.get('name')}`);
}
});
const person3 = Person3.create();
person3.get('name');
person3.get('goodbyeMessage');
person3.sayHello();
person3.sayGoodbye();
interface AutoResizeMixin { resizable: true; }
const AutoResizeMixin = Ember.Mixin.create({ resizable: true });
const ResizableTextArea = Ember.TextArea.reopen(AutoResizeMixin, {
scaling: 1.0
});
const text = ResizableTextArea.create();
assertType<boolean>(text.resizable);
assertType<number>(text.scaling);
const Reopened = Ember.Object.reopenClass({ a: 1 }, { b: 2 }, { c: 3 });
assertType<number>(Reopened.a);
assertType<number>(Reopened.b);
assertType<number>(Reopened.c);