imp: t-ref directive is now dynamic

closes #11
This commit is contained in:
Géry Debongnie
2019-04-09 10:31:32 +02:00
parent c10b84cd99
commit 370a92b67e
5 changed files with 33 additions and 8 deletions
+6 -4
View File
@@ -900,10 +900,12 @@ const onDirective: Directive = {
const refDirective: Directive = {
name: "ref",
priority: 95,
atNodeCreation({ ctx, node, nodeID }) {
let ref = node.getAttribute("t-ref");
atNodeCreation({ ctx, node }) {
let ref = node.getAttribute("t-ref")!;
ctx.addLine(`p${ctx.parentNode}.hook = {
create: (_, n) => context.refs['${ref}'] = n.elm,
create: (_, n) => context.refs[${ctx.formatExpression(
ref
)}] = n.elm,
};`);
}
};
@@ -996,7 +998,7 @@ const widgetDirective: Directive = {
}
let ref = node.getAttribute("t-ref");
if (ref) {
ctx.addLine(`context.refs['${ref}'] = w${widgetID};`);
ctx.addLine(`context.refs[${ctx.formatExpression(ref)}] = w${widgetID};`);
}
ctx.addLine(`def${defID} = w${widgetID}._start();`);