本文整理匯總了TypeScript中@glimmer/runtime.Template.render方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript Template.render方法的具體用法?TypeScript Template.render怎麽用?TypeScript Template.render使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類@glimmer/runtime.Template
的用法示例。
在下文中一共展示了Template.render方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: UpdatableReference
function render<T>(template: Template<T>, self: any) {
let result;
env.begin();
let templateIterator = template.render(new UpdatableReference(self), root, new TestDynamicScope());
do {
result = templateIterator.next();
} while (!result.done);
result = result.value;
env.commit();
return result;
}
示例2: UpdatableReference
function render<T>(template: Template<T>, context={}) {
self = new UpdatableReference(context);
env.begin();
let templateIterator = template.render(self, root, new TestDynamicScope());
do {
result = templateIterator.next();
} while (!result.done);
result = result.value;
env.commit();
return result;
}
示例3: start
export function start() {
let env = new DemoEnvironment();
const TEMPLATES = {};
Array.prototype.slice.call(document.querySelectorAll("[data-template-name]")).forEach(function(node) {
let name = node.getAttribute("data-template-name"),
source = node.textContent;
TEMPLATES[name] = env.compile(source);
});
let data = {
width: window.innerWidth,
height: window.innerHeight,
points: new RingBuffer(500), // in practice we only have 100-200 circles on screen
count: 0,
// fps: 0
};
let output = document.getElementById('output');
let self = new UpdatableReference(data);
let template: Template<{}> = TEMPLATES['application'];
let templateIterator = template.render({ self, parentNode: output, dynamicScope: new TestDynamicScope() });
let result;
do {
result = templateIterator.next();
} while (!result.done);
result = result.value;
window.addEventListener("resize", function() {
data.width = window.innerWidth;
data.height = window.innerHeight;
});
document.addEventListener("mousemove", function(e) {
data.points.push( new Point(window.performance.now(), e.layerX, e.layerY) );
});
function tick() {
let timestamp = window.performance.now();
data.count = 0;
data.points.forEach(function(point, i) {
if (point) {
point.update(i, timestamp);
if (point.opacity > 0.001) {
data.count++;
} else {
data.points.remove(i);
}
}
});
self.update(data);
env.begin();
result.rerender();
env.commit();
window.requestAnimationFrame(tick);
}
tick();
}