我正在一个angular4项目中工作,在该项目中,我使用了带有属性的标记( ngx-slimscroll ),如下所示
<perfect-scrollbar [config]="configForScroll"></perfect-scrollbar>。
现在,我的要求是使用<perfect-scrollbar> ()函数动态地创建document.createElement()函数(我已经做了successfully.But ),在将属性设置为配置时,我得到的错误为
Uncaught :未能在'createAttribute‘上执行’createAttribute‘:提供的限定名('config')包含无效的名称-开始字符'[’‘。那么,是否有任何方法来设置这种属性,如下面的代码所示
var patt = document.createAttribute("[config]");
patt.value = "configForScroll";请给我找个办法把它修好。提前感谢
发布于 2018-05-18 14:25:19
是否可以使用javascript中的将属性设置为值为configForScroll的setAttribute?NO
您不能使用特殊字符'[config]'创建一个名为'[' and ']'的属性。这样做会引发INVALID_CHARACTER_ERR异常,正如这里指出的那样。
如果参数包含用于XML属性的无效字符,则为INVALID_CHARACTER_ERR。
但是您可以创建一个名为“config”的属性;
document.createAttribute("config");//valid
请注意,动态附加组件标记不能像预期的那样工作。角不会检测到这些变化。新追加的节点将被视为普通Dom节点,而不是角节点。
如果您的目的是添加一个动态组件,那么请查看动态元件装载机和这个堆栈溢出回答=> 如何使用/创建动态模板来编译具有角2.0的动态组件?
https://stackoverflow.com/questions/50408368
复制相似问题