上下文
我有一个Angular2应用程序,其可访问性非常重要。当无线电输入具有相同的名称但未包含在radiogroup
元素中时,我正在使用的可访问性评估器正在抱怨。但是当我确实放置radiogroup
元素时,Angular2会给出模板解析错误:
Unhandled Promise rejection: Template parse errors:
'radiogroup' is not a known element:
1. If 'radiogroup' is an Angular component, then verify that it is part of this module.
2. If 'radiogroup' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schemas' of this component to suppress this message. ("
<div>
[ERROR ->]<radiogroup>
<input type="radio" name="foo id="true" label="True" value="true" />
<in"): App@2:6 ; Zone: <root> ; Task: Promise.then ; Value: Error:
守则
import { Component } from '@angular/core';
@Component({
selector: 'my-component',
template: `
<radiogroup>
<input type="radio" name="my-radio" value="true" />True
<input type="radio" name="my-radio" value="false" />False
</radiogroup>
`
})
export class MyComponent {};
我已将FormsModule
导入模块。
答案 0 :(得分:2)
radiogroup
不是标准的HTML元素,它是一个如下所示的属性,(Check this PLunker)
<div>
<input type="radio" radiogroup="alignment" name="my-radio" value="true" />True
<input type="radio" radiogroup="alignment" name="my-radio" value="false" />False
</div>
如果要创建名为radiogroup
的组件,则需要在使用之前在NgModule中声明它,
<强>更新强>
您可以添加不带模板的指令,以便Angular不会抱怨未知元素,它可以与基于XUL的应用程序一起构建用于构建Firefox等应用程序的用户界面。
@Directive({
selector: 'radiogroup'
})
export class RadioGroupDirective { }
这是Plunker!
我之前没有在Firefox中测试过,所以不确定是否会得到ttributes, properties and methods of radiogroup,理想情况下它应该可以正常工作。
希望这会有所帮助!!