本文整理汇总了TypeScript中ember.computed函数的典型用法代码示例。如果您正苦于以下问题:TypeScript computed函数的具体用法?TypeScript computed怎么用?TypeScript computed使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了computed函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: testDefineProperty
function testDefineProperty() {
const contact = {};
// ES5 compatible mode
Ember.defineProperty(contact, 'firstName', {
writable: true,
configurable: false,
enumerable: true,
value: 'Charles'
});
// define a simple property
Ember.defineProperty(contact, 'lastName', undefined, 'Jolley');
// define a computed property
Ember.defineProperty(contact, 'fullName', Ember.computed('firstName', 'lastName', function() {
return `${this.firstName} ${this.lastName}`;
}));
}
示例2: function
});
const Customized = DS.JSONAPIAdapter.extend({
host: 'https://api.example.com',
namespace: 'api/v1',
headers: {
'API_KEY': 'secret key',
'ANOTHER_HEADER': 'Some header value'
}
});
const AuthTokenHeader = DS.JSONAPIAdapter.extend({
session: Ember.inject.service('session'),
headers: Ember.computed('session.authToken', function() {
return {
'API_KEY': this.get('session.authToken'),
'ANOTHER_HEADER': 'Some header value'
};
})
});
const UseAjax = DS.JSONAPIAdapter.extend({
query(store: DS.Store, type: string, query: object) {
const url = 'https://api.example.com/my-api';
return this.ajax(url, 'POST', {
param: 'foo'
});
}
});
const UseAjaxOptions = DS.JSONAPIAdapter.extend({
query(store: DS.Store, type: string, query: object) {
示例3: createMan
let App: any;
App = Ember.Application.create();
App.president = Ember.Object.create({
name: 'Barack Obama',
});
App.country = Ember.Object.create({
presidentNameBinding: 'MyApp.president.name',
});
App.country.get('presidentName');
App.president = Ember.Object.create({
firstName: 'Barack',
lastName: 'Obama',
fullName: Ember.computed(function() {
return `${this.get('firstName')} ${this.get('lastName')}`;
}),
});
App.president.get('fullName');
declare class MyPerson extends Ember.Object {
static createMan(): MyPerson;
}
MyPerson.createMan();
const Person1 = Ember.Object.extend({
say: (thing: string) => {
alert(thing);
},
});
示例4: function
import Ember from 'ember';
import Component from '@ember/component';
import Computed, { alias, or } from '@ember/object/computed';
import { assertType } from './lib/assert';
const Person = Ember.Object.extend({
firstName: '',
lastName: '',
age: 0,
noArgs: Ember.computed<string>(() => 'test'),
fullName: Ember.computed<string>('firstName', 'lastName', function() {
return `${this.get('firstName')} ${this.get('lastName')}`;
}),
fullNameReadonly: Ember.computed<string>('fullName', function() {
return this.get('fullName');
}).readOnly(),
fullNameWritable: Ember.computed<string>('firstName', 'lastName', {
get() {
return this.get('fullName');
},
set(key, value) {
const [first, last] = value.split(' ');
this.set('firstName', first);
this.set('lastName', last);
return value;
}
}),
示例5: function
import Ember from 'ember';
import DS, { ChangedAttributes } from 'ember-data';
import { assertType } from "./lib/assert";
import RSVP from 'rsvp';
const Person = DS.Model.extend({
firstName: DS.attr(),
lastName: DS.attr(),
title: DS.attr({ defaultValue: "The default" }),
title2: DS.attr({ defaultValue: () => "The default" }),
fullName: Ember.computed('firstName', 'lastName', function() {
return `${this.get('firstName')} ${this.get('lastName')}`;
})
});
const User = DS.Model.extend({
username: DS.attr('string'),
email: DS.attr('string'),
verified: DS.attr('boolean', { defaultValue: false }),
canBeNull: DS.attr('boolean', { allowNull: true }),
createdAt: DS.attr('date', {
defaultValue() { return new Date(); }
})
});
const user = User.create({ username: 'dwickern' });
assertType<string>(user.get('id'));
assertType<string>(user.get('username'));
assertType<boolean>(user.get('verified'));
assertType<Date>(user.get('createdAt'));