如果我们尝试这样的代码:
<td [colspan]="1 + 1">Column</td>
或者这是:
<td colspan="{{1 + 1}}">Column</td>
我们很快发现“colspan
不是一个已知的原生属性。
从A2文档中,我们了解到:
元素没有colspan属性。它具有“colspan”属性,但插值和属性绑定只能设置属性,不能设置属性。
相反,我们必须这样做:
<td [attr.colspan]="1 + 1">Column</td>
这很公平。
我的问题是,为什么< code>colspan不是DOM的一个属性,如果它不存在,浏览器怎么可能呈现表格,因为浏览器呈现的是DOM而不是HTML?
另外,如果我打开Chrome检查器,然后转到属性选项卡,为什么我可以看到colspan作为元素的属性?
为什么DOM表现出这种不一致?
当浏览器解析HTML时,它将为解析的HTML创建内存中的DOM表示。属性中的数据通常会成为DOM中存在的属性的初始值。
由于 colspan 不是
我们可以看到html属性保存在属性DOM属性中。重要的是要意识到当前的colspan反映在DOM colSpan属性中,这可以在下面的图像中观察到。
在Angular中使用属性绑定时,使用这些DOM属性将文字1绑定到1。因此,为了绑定到colSpan属性,我们需要以下语法:
<td [colSpan]="1 + 1">Column</td>
我们还可以直接绑定到 Angular 中的属性,正如您用以下语法指出的那样:
<td [attr.colspan]="1 + 1">Column</td>
为什么DOM表现出这种不一致?
<李>一致性的原因所有DOM
我的问题是,为什么colspan不是一个属性
Colspan DOM的属性,但它不是一个
另外,如果我打开Chrome检查器,然后转到属性选项卡,为什么我可以看到colspan作为元素的属性?
当您检查时,chrome会同时显示属性和属性。
如果您考虑以下几点,
<html>
<head>
</head>
<body>
<table>
<tr><th>A</th><th>A</th></tr>
<tr><td colspan="2" id="xyz">B</td></tr>
</table>
</body>
</html>
document.getElementById('xyz')。colspan
导致未定义,因为它不是一个属性
但是 document.getElementById('xyz').id
导致 xyz
因为它是一个属性
**类似示例
属性和属性并不总是1:1。一个经常
<label for="someId">
在角度
<label [for]="someId">
失败并出现相同的错误,您需要像这样绑定
<label attr.for="{{someId}}">
或
<label [attr.for]="someId">
但是
<label [htmlFor]="someId">
也会工作,因为在这种情况下<代码> htmlFor吗
另请参见属性和属性之间的区别?
<代码> colSpan > < /代码实际的属性名
据https://developer.mozilla.org/en-US/d
<td [colSpan]="1 + 1">Column</td>
另见https://plnkr.co/edit/BZelYOraELdprw5GMKPr?p=preview
它很好用。
为什么角默认绑定到属性
角绑定到属性默认情况下的性能
我必须动态地创建一个复选框列表 无法绑定到“for”,因为它不是已知的本机属性 angular2 新错误消息 未处理的promise拒绝:模板分析错误:无法绑定到“for”,因为它不是“label”的已知属性。 这是我的plnkr显示错误:http://plnkr.co/edit/aAQfWvHc7h7IBuYzpItO?p=preview 我的代码中哪里出错了?
很明显Angular2的beta版本比new版本更新,所以没有太多的信息,但我想做的是一些基本的路由。 使用https://angular.io网站中的快速启动代码和其他片段进行黑客攻击,导致以下文件结构: 文件填充如下: index.html BOOT.TS app.component.ts 路由-test.component.ts 尝试运行此代码会产生错误: 我在这里发现了一个隐约相关的问题;
我有问题使用Angular2路由器,我不能解决它。 我还在breadcrumb.ts导入ROUTER_DIRECTIVES 但是当我打开浏览器时,异常如下所示: 无法绑定到'routerlink',因为它不是Breadcrumb>ol:nth-child(0)>li:nth-child(1)>a:nth-child(1)[[routerlink]=['home']]中的已知本机属性
是的,这可能是第一百次有人遇到这个问题,但没有解决办法对我有效。。。 我使用角2.0.0 rc和什么都不会工作,我想我错过了一些东西,但我不知道是什么 这是我的文件,它们都可以正确传输,是的,我尝试使用不推荐的路由,是的,我根据文档做了,两者都不起作用。 app.component.ts 主要的ts 指数html 其余的文件几乎都是教程中的复制粘贴,所以我不会用更多的代码来垃圾邮件。。。 更新,我
我正在尝试测试控件的angular2双向绑定。以下是错误: app.component.html app.component.ts app.component.spec.ts
(为简洁起见进行了简化) modal-dialog.html modal-body.html(使用angular2-component-outlet的动态模板)