通过JavaScript传递HTML
Passing HTML through JavaScript
目标
使用HTML传递到DOM字符串并进行渲染。
场景
我正在使用以下语法扩展observable(使用KnockoutJS)的属性:
self.showDetails.subscribe(function (context) {
var details = this.showDetails();
details.nameWithCnpj = context.name() + " <small>" + context.cnpj() + "</small>";
}, this);
如果你注意下面一行,你可以看到上面的HTML:
details.nameWithCnpj = context.name() + " <small>" + context.cnpj() + "</small>";
当<small></small>
标记到达HTML时,它被呈现为字符串,而不是普通HTML。
容纳nameWithCnpj
的容器(使用KnockoutJS)如下:
<h2 class="bold float-left" data-bind="text: nameWithCnpj"></h2>
因此,我想问:如何向JavaScript(或HTML)教授nameWithCnpj
变量应该是DOM元素而不是简单的字符串
您需要使用html
绑定而不是text
:
html绑定导致关联的DOM元素显示html由参数指定。
通常,当视图模型中的值实际为要呈现的HTML标记字符串。
因此,请将您的观点更改为:
<h2 class="bold float-left" data-bind="html: nameWithCnpj"></h2>
如果你想成为更多的MVVM,你可以创建一个模板来封装你的格式化逻辑,并使用template
绑定:
<h2 class="bold float-left"
data-bind="template: { name: 'nameWithCnpj', data: showDetails}"></h2>
<script id="nameWithCnpj" type="text/html">
<span data-bind="text: name"></span>
<small data-bind="text: cpnj"></small>
</script>
相关文章:
- 通过javascript重定向html传递php变量
- 将值从html传递到AngularJS控制器
- 将变量从html传递到javascript再传递到php
- D3选择html——传递函数时,索引从1开始,而不是从0开始
- Jquery mobile-如何在two.html中检索从one.html传递的数据
- 如何将值从 HTML 传递到 Node JS
- 将数据从 HTML 传递到 JQuery/Ajax
- 通过 php、javascript 和 html 传递值
- 从 HTML 传递 JS-参数
- 如何使用jstl ,href=“edittheme?id=value1”将值从html传递到url
- 如何从 html 传递 ddl 值并将其传递给 JS 中的 if else 条件
- 将数据从一个 html 传递到另一个 html 时出现问题
- 如何直接从 OnClick 将变量从 HTML 传递到 JS
- 如何将数组从 HTML 传递到 Javascript
- 将 HTML 传递给自定义指令
- 将表单变量从 HTML 传递到 Javascript,但带有引号
- 将变量从 html 传递到 Javascript 上按钮单击格式 If 语句
- 将 JSON 从一个 html 传递到另一个 HTML
- AngularJS - 将一些标志从html传递到控制器
- 将变量从 .html 传递到太大而无法容纳在 URL 中的变量.php