嵌套组件中带有注入变量的 Angular4 和 data-* 属性
Angular4 and data-* attributes with injected variable in nested Component
在 Angular4 的嵌套组件中有以下代码:
<a data-activator="classroom-panel-activator"
data-toggle="collapse"
data-parent="#accordion-{{ day.date }}"
href="#info-panel-{{ schedule.referenceId }}"
>
Click me
</a>
问题出在 data-parent
及其值 {{ day.date }}
上,因为当我 运行 浏览器中的代码时, Angular 抛出以下内容:
Can't bind to 'parent' since it isn't a known property of 'a'. (" <a data-activator="classroom-panel-activator"
data-toggle="collapse"
[ERROR ->]data-parent="#accordion-{{ day.date }}"
href="#info-panel-{{ schedule.referenceId }}"
当变量被注入到 data-*
属性时,问题才真正发生。如果我从中删除 {{ day.date }}
,那么它就可以工作。另外,如果我离开 {{ day.date }}
并且例如将名称从 data-parent
更改为 data-nothing
然后错误仍然发生(所以它不是与任何关键字 parent
的名称冲突)。
当然 {{ day.date }}
对象存在并且有效。它只是在我描述的场景中不起作用。
那么问题是什么?
您想使用属性绑定
<a data-activator="classroom-panel-activator"
data-toggle="collapse"
[attr.data-parent]="'#accordion-' + day.date"
href="#info-panel-{{ schedule.referenceId }}"
>
Click me
</a>
在 Angular4 的嵌套组件中有以下代码:
<a data-activator="classroom-panel-activator"
data-toggle="collapse"
data-parent="#accordion-{{ day.date }}"
href="#info-panel-{{ schedule.referenceId }}"
>
Click me
</a>
问题出在 data-parent
及其值 {{ day.date }}
上,因为当我 运行 浏览器中的代码时, Angular 抛出以下内容:
Can't bind to 'parent' since it isn't a known property of 'a'. (" <a data-activator="classroom-panel-activator"
data-toggle="collapse"
[ERROR ->]data-parent="#accordion-{{ day.date }}"
href="#info-panel-{{ schedule.referenceId }}"
当变量被注入到 data-*
属性时,问题才真正发生。如果我从中删除 {{ day.date }}
,那么它就可以工作。另外,如果我离开 {{ day.date }}
并且例如将名称从 data-parent
更改为 data-nothing
然后错误仍然发生(所以它不是与任何关键字 parent
的名称冲突)。
当然 {{ day.date }}
对象存在并且有效。它只是在我描述的场景中不起作用。
那么问题是什么?
您想使用属性绑定
<a data-activator="classroom-panel-activator"
data-toggle="collapse"
[attr.data-parent]="'#accordion-' + day.date"
href="#info-panel-{{ schedule.referenceId }}"
>
Click me
</a>