[IMP] component tags: allow injecting values in xml tag string

With this commit, we can now do this:

      const SUBTEMPLATE = xml`<span><t t-esc="state.n"/></span>`
      class Parent extends Widget {
          static template = xml`<div><t t-call="${SUBTEMPLATE}"/></div>`
          state = {n: 42};
      }
This commit is contained in:
Géry Debongnie
2019-09-21 23:05:44 +02:00
parent cc82b3ffcd
commit 78a4550ebb
3 changed files with 34 additions and 2 deletions
+3 -2
View File
@@ -19,8 +19,9 @@ import { QWeb } from "./qweb/index";
* }
* ```
*/
export function xml(strings) {
export function xml(strings, ...args) {
const name = `__template__${QWeb.nextId++}`;
QWeb.registerTemplate(name, strings[0]);
const value = String.raw(strings, ...args);
QWeb.registerTemplate(name, value);
return name;
}