1 个组件被多次调用。如果 angularjs 相同

Posted

技术标签:

【中文标题】1 个组件被多次调用。如果 angularjs 相同【英文标题】:1 component called multiple times. same if angularjs 【发布时间】:2019-03-30 20:34:15 【问题描述】:

所以,这是项目中反复出现的问题,所以我不想找到一个干净的方法,而是一个有效的方法来解决它。

我有一个组件A和一个组件B

componentA 得到一个元素,其 ID 想要在代码中修改。

由于某种原因,componentA 可以调用 componentB,而对于其他操作,您可以让 componentB 调用另一个 componentA。

在网页中,您将再次拥有:componentA -> componentB -> componentA。

现在,我想从第二个组件A修改带有ID的元素,但是由于页面上已经有一个,所以它不起作用。

如何在不使用 id 的情况下将 elementA-1 与 componentA1 和 elementA-2 与 componentA-2 绑定?

谢谢

【问题讨论】:

【参考方案1】:

您可以在组件中为元素指定一个自定义 ID。 然后你可以通过 id 从组件中选择元素

componentA.js

// this is to make a random ID
componentScope.elementID = Math.random().toString(36).substring(7);

组件A.html

id="componentScope.elementID"

因此您可以使用

从组件访问
document.getElementById(componentScope.elementID);

【讨论】:

以上是关于1 个组件被多次调用。如果 angularjs 相同的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS 1.6 + ES6 - $doCheck 被调用两次

react 下拉框 组件多次被调用

方法在角度材料自动完成中被多次调用

vue自定义全局组件并通过全局方法 Vue.use() 使用该组件

开玩笑:setTimeout 被调用了太多次

系统关闭后仍在调用$modal控制器的作用域函数。