javascript - 如何使用 ViewCompiler 手动编译部分 DOM?

标签 javascript aurelia

假设我有一个简单的 View 模型 (widget.js):

import {Behavior} from 'aurelia-framework';

export class Widget
{
    static metadata() { return Behavior.customElement('widget') }

    constructor()
    {
        this.title= "AwesomeWidget";
    }
}

使用以下 View :(widget.html):

<template>
    <div>${title}</div>
</template>

现在假设我将这样的标记注入(inject)到 DOM 中:

    var markup       = `<div><widget></widget></div>`;
    var $markup      = $(markup);
    var $placeholder = $("#placeholder");

    $placeholder.append($markup);

我现在如何告诉 Aurelia 针对 Widget 的新实例编译这个新添加的 DOM 部分?我知道它涉及 ViewCompiler 但需要一个示例来帮助我。我将不胜感激任何帮助。谢谢!

最佳答案

几个月前,TemplatingEngine 类获得了一个新的可访问增强 API 方法。这减少了手动使用 viewCompiler 和编译方法的需要,这原本是唯一简单的方法。 This blog post详细介绍了如何使用增强 API 来 Aureliaify 动态添加页面中的 HTML。

这有一个额外的好处,即不需要清理编译后的 HTML 或分离任何东西。

关于javascript - 如何使用 ViewCompiler 手动编译部分 DOM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29527389/

相关文章:

javascript - JS/HTML onChange

javascript - 我如何向上述 channel 发布公告?

javascript - MongoDB,如何创建一个空集合?

typescript - 引用 TypeScript 类型定义

javascript - 在一个函数完成后运行函数 - JQuery animate

javascript - 使用decodeURI时如何捕获错误?

aurelia - 如何在 Aurelia repeat.for 中有条件地添加或删除 CSS 类?

aurelia - 如何获取登录错误的结果(从login.ts)到login.html

javascript - 相对于 Aurelia.js 中的 ng-include

javascript - Aurelia 注入(inject)模拟依赖