本文整理汇总了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();
}