我正在ngx-slimscroll
项目中工作,我使用了<perfect-scrollbar [config]="configForScroll"></perfect-scrollbar>
,其中包含带有属性的标记,如下所示
<perfect-scrollbar>
。
现在,我的要求是使用我已成功完成的document.createElement()函数动态创建var patt = document.createAttribute("[config]");
patt.value = "configForScroll";
元素。但是,将属性设置为 [config] 我是得到错误
未捕获DOMException:无法在'Document'上执行'createAttribute':提供的限定名称('[config]')包含无效的名称 - 开始字符'['。 那么,有没有办法设置这种属性,如下面的代码所示
if(a[s]<=a[s+1])
return sorted(a,s+1,n)
else
return false;
请找我一种解决方法。提前致谢
答案 0 :(得分:1)
是否可以使用javascript中的setAttribute将属性设置为 [config] ,并将值设置为configForScroll? 否强>
您无法使用特殊字符'[config]'
创建名为'[' and ']'
的属性。
这样做会引发here
INVALID_CHARACTER_ERR
例外情况
INVALID_CHARACTER_ERR如果参数包含无效字符 XML属性。
但您可以创建名为&#39; config&#39;;
的属性 document.createAttribute("config");//valid
请注意,动态附加组件标记无法按预期工作。 Angular不会检测到这些变化。您新添加的节点将被视为纯Dom节点,而不是角度组件。
如果您打算添加动态组件,请查看dynamic-component-loader此stackoverflow answer =&gt; How can I use/create dynamic template to compile dynamic Component with Angular 2.0?