在两个相同的自定义角度指令之间共享temp变量

时间:2015-05-22 10:07:05

标签: javascript angularjs angularjs-directive

我创建了自定义指令并在同一个html页面上应用了两次。 在指令的控制器中,我有一个函数来设置一些 TEMP 变量的值。当我使用let说第一个指令并在其中设置此 TEMP 变量的值时,之后当我使用第二个指令值 TEMP 变量时可用。 我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

我建议在指令之上设置servicecontroller(取决于控制器是否适用于此情况)。它可以保存变量的基本副本,并可以读取或写入。

例如,在您的指令中:

localTemp = tempService.temp;
// or scope.temp if pulling scope from a controller like link: function (scope, elem, attr) {...}
...
tempService.temp = localTemp;

如果您在页面上直接显示此变量,则可能必须将此第二行放在$timeout(...)内,以便Angular摘要接收更改,并在您的UI中传播并显示。< / p>