我尝试使用ES6类构建指令并进行编译,但失败。这是定义以及如何将指令添加到应用程序中。
dataDiagram.js
export default class dataDiagram {
constructor() {
this.restrict = 'E';
this.template = '<div>This is my directive.</div>';
this.scope = false;
}
}
app.js
import dataDiagram from 'dataDiagram';
angular.module('myApp', [])
.directive('dataDiagram', () => new dataDiagram());
然后,我将其添加<data-diagram></data-diagram>
到我的文件中index.html
,并期望它将成为<data-diagram><div>This is my directive.</div></data-diagram>
。但是,<data-diagram></data-diagram>
在我重新加载应用程序之后,DOM仍然存在,并且该指令未编译。在此过程中不会引发任何错误。
我想知道我在编写代码时是否想念一些东西。非常感谢。
问题是您为指令选择了不幸的名称。角度stipsdata-
在解析模板时加前缀,这意味着<data-diagram></data-diagram>
(本质上与相同<diagram></diagram>
)对应于diagram
指令,而不是dataDiargam
。
只需更改指令的名称(例如.directive('someDataDiagram', () => new dataDiagram());
)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句