本文整理匯總了TypeScript中@ember/object/computed.readOnly函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript readOnly函數的具體用法?TypeScript readOnly怎麽用?TypeScript readOnly使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了readOnly函數的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: readOnly
// which complicates (and makes somewhat ambiguous) the calculation
// of activeness for links that link to `resource` instead of
// directly to `resource.index`.
// if we don't have enough contexts revert back to full route name
// this is because the leaf route will use one of the contexts
if (contexts.length > maximumContexts) {
routeName = leafName;
}
return routerState.isActiveIntent(routeName, contexts, queryParams, !isCurrentWhenSpecified);
}
}
RoutingService.reopen({
targetState: readOnly('router.targetState'),
currentState: readOnly('router.currentState'),
currentRouteName: readOnly('router.currentRouteName'),
currentPath: readOnly('router.currentPath'),
});
function numberOfContextsAcceptedByHandler(handler: any, handlerInfos: any[]) {
let req = 0;
for (let i = 0; i < handlerInfos.length; i++) {
req += handlerInfos[i].names.length;
if (handlerInfos[i].handler === handler) {
break;
}
}
return req;
示例2: readOnly
import { readOnly } from '@ember/object/computed';
import Mixin from '@ember/object/mixin';
import ResizeService from 'dummy/services/resize';
const { floor } = Math;
// tslint:disable-next-line:variable-name
const ResizeAwareMixin = Mixin.create({
resizeDebouncedEventsEnabled: true,
resizeEventsEnabled: true,
screenHeight: readOnly('resizeService.screenHeight'),
screenWidth: readOnly('resizeService.screenWidth'),
_oldViewHeight: null as number | null,
_oldViewHeightDebounced: null as number | null,
_oldViewWidth: null as number | null,
_oldViewWidthDebounced: null as number | null,
resizeHeightSensitive: true,
resizeWidthSensitive: true,
didInsertElement() {
this._super(...arguments);
const resizeService: ResizeService = (this as any).get('resizeService');
if (this.get('resizeEventsEnabled')) {
resizeService.on('didResize', this, this._handleResizeEvent);
}
if (this.get('resizeDebouncedEventsEnabled')) {
resizeService.on('debouncedDidResize', this, this._handleDebouncedResizeEvent);
}
},
示例3: readOnly
});
});
```
It will return:
* `index` when you visit `/`
* `about` when you visit `/about`
* `blog.index` when you visit `/blog`
* `blog.post` when you visit `/blog/some-post-id`
@property currentRouteName
@type String
@public
*/
currentRouteName: readOnly('_router.currentRouteName'),
/**
Current URL for the application.
This property represents the URL path for this route.
For the following router:
```app/router.js
Router.map(function() {
this.route('about');
this.route('blog', function () {
this.route('post', { path: ':post_id' });
});
});
```
示例4: gt
gt: gt('foo', 3),
gte: gte('foo', 3),
intersect: intersect('foo', 'bar', 'baz', 'qux'),
lt: lt('foo', 3),
lte: lte('foo', 3),
map: map('foo', (item, index) => item.bar),
mapBy: mapBy('foo', 'bar'),
match: match('foo', /^tom.ter$/),
max: max('foo'),
min: min('foo'),
none: none('foo'),
not: not('foo'),
notEmpty: notEmpty('foo'),
oneWay: oneWay('foo'),
or: or('foo', 'bar', 'baz', 'qux'),
readOnly: readOnly('foo'),
reads: reads('foo'),
setDiff: setDiff('foo', 'bar'),
sort1: sort('foo', 'bar'),
sort2: sort('foo', (itemA, itemB) => {
if (itemA < itemB) {
return -1;
} else if (itemA > itemB) {
return 1;
} else {
return 0;
}
}),
sum: sum('foo'),
union: union('foo', 'bar', 'baz', 'qux'),
uniq: uniq('foo'),