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

2024-02-10

假设我有一个简单的视图模型(小部件.js):

import {Behavior} from 'aurelia-framework';

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

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

具有以下观点:(小部件.html):

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

现在假设我将一些像这样的标记注入到 DOM 中:

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

    $placeholder.append($markup);

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


几个月前,TemplateEngine 类获得了一个新的可访问的增强 API 方法。这样就不需要手动使用viewCompiler和compile方法了,这本来是唯一简单的方法。这篇博文 http://ilikekillnerds.com/2016/01/enhancing-at-will-using-aurelias-templating-engine-enhance-api/详细介绍了如何使用增强 API 来 Aureliaify 在页面中动态添加 HTML。

这样做的另一个好处是不需要清理已编译的 HTML 或分离任何内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用ViewCompiler手动编译部分DOM? 的相关文章

随机推荐

  • DatePickerDialog标题背景颜色

    我已经为 DatePickerDialog 背景设置了样式 它在 Nexus 5 Marshmallow 上的显示有所不同 我使用的风格是
  • 将 Antlr 语法树转换为有用的对象

    我目前正在考虑如何最好地获取使用 Antlr 生成的 AST 并将其转换为可以在我的程序中使用的有用对象 我语法的目的 除了学习之外 是创建一种可执行 运行时解释 语言 例如 我将如何获取属性子树并实例化特定的属性类 例如 以下代码用我的语
  • 有没有办法将 bash 中的输出重定向到具有不同过滤器的不同位置?

    如果我有一个过程a out我可以 a out grep foo查看由 foo 过滤的 a out 的标准输出 我也可以说 a out 2 gt 1 grep foo查看 foo 过滤的 err 和 out 随着tee命令我可以将标准输出发送
  • 从另一个类访问私有方法

    我有两个存储库类 RepositoryFactory and BaseRepository 在同一项目中实现不同的接口 这BaseRepository类有一个私有方法 现在另一个类中也需要该方法 具有相同的实现 我没有重复该方法以保持其私有
  • 带小数的负数的Javascript正则表达式

    我想测试这个输入 可选的负号 2 位数字 可选的 和一个可选的数字 如下所示 34 or 34 5333 or 34 53333 or 34 in JavaScript 这是我想出来的 但行不通 d 2 d 1 有人可以帮帮我吗 试试这个正
  • 使用 PHP 进行实时视频流传输

    我有一个 PHP AJAX MYSQL 聊天应用程序 我想将视频聊天添加到我的应用程序中 如何在 PHP 应用程序中创建用于实时视频会议 聊天的实时视频流 如果我想构建这样一个系统 我需要了解哪些关键术语 首先使用 PHP 是个好主意吗 有
  • 缩略图淡入淡出

    这是缩略图的标记 ul li a href videos img class thumb src images background thumb1 jpg alt a li li a href images background ibiza
  • Rails:构建捆绑器 gemfile 的选项

    我有一个宝石 必须使用一些选项来构建它 gem install pg with pg include Library PostgreSQL 9 0 include with pg lib Library PostgreSQL 9 0 lib
  • 我们如何将结果数据从 CodeIgniter 控制器传递到 AngularJS 控制器?

    我们如何将结果数据从 CodeIgniter 控制器传递到 AngularJS 控制器 在使用 jsonSuccess 代码的 CodeIgniter 控制器中 我将数据传递给 AngularJS 但我想传递不同的 3 个变量 我需要如何传
  • 当且仅当类模板会实例化时,变量模板才是正确的?

    假设我有一个类模板 A 它具有一个类型模板参数和一个主要特化 template
  • 如何在 React Query 中将 debounce 与 useQuery 一起使用?

    我正在使用 React Query 从 React 应用程序中的 API 获取数据 我想实现去抖以获得更好的性能 但我无法让它与 useQuery 一起使用 当我尝试将 API 调用包装在去抖函数中时 收到一条错误消息 查询函数必须返回定义
  • .NET / LINQ-SQL / ASP.NET 中的连接字符串地狱

    我有一个网络应用程序 包含以下内容 一个 Web 项目 带有包含连接字符串的 web config 文件 但 Web 项目中没有数据访问代码 使用 LINQ SQL 类向 Web 项目 UI 提供实体的数据访问项目 该项目有一个设置文件和一
  • 使用 Apps 脚本在 Google Drive 中创建 zip 文件

    我在 Google Drive 文件夹中有一个包含几个文件的文件夹 我想制作一个 Google Apps 脚本 它将压缩该文件夹中的所有文件并在同一文件夹中创建 zip 文件 我发现一个视频有Utilities zip 函数 但没有相关的
  • Span 和二维数组

    是否可以使用新的System Memory Span 结构体 https msdn microsoft com en us magazine mt814808 aspx使用二维数据数组 double testMulti 1 2 3 4 5
  • 使用 Awk 或 Sed 在特定行的末尾附加语句

    我有一个我命名的文件poscar1 cif 我想在此文件的特定行插入变量的内容 例如 线24 当前内容为 cell length a 我想添加变量的内容a 在我的函数中定义为a 5 3827 这样该行现在显示为 cell length a
  • 不停止 gdb 中的所有线程

    如果到达断点 或在 GDB shell 中按 Ctrl C GDB 通常会停止所有线程 我知道存在诸如调度程序锁定和调度多重之类的命令 但我认为不可能让已定义的线程在调试另一个线程时在后台运行 您可以使用set target async o
  • 将 grep 计数分配给变量

    如何分配结果 grep c some text tmp somePath 到变量中 这样我就可以回显它 bin bash some var grep c some text tmp somePath echo var value is so
  • jQuery:检测浏览器大小调整

    我正在使用 snipplr 的这个脚本 我该如何设置它 使容器 div 比 newWindowHeight 高度小 100px 比如 100 之类的
  • 自动将参数附加到 *_url 或 *_path 方法 (Rails)

    我有一组与我的一个控制器相关的特定视图 我希望任何调用 path or url附加一组参数 是否有一些我可以重写的神奇方法可以让我做到这一点 我不知道 Rails 代码中的哪里 path or url方法甚至被处理 为了清楚起见编辑 我正在
  • 如何使用ViewCompiler手动编译部分DOM?

    假设我有一个简单的视图模型 小部件 js import Behavior from aurelia framework export class Widget static metadata return Behavior customEl