我创建了自定义指令并在同一个html页面上应用了两次。 在指令的控制器中,我有一个函数来设置一些 TEMP 变量的值。当我使用let说第一个指令并在其中设置此 TEMP 变量的值时,之后当我使用第二个指令值 TEMP 变量时可用。 我怎样才能做到这一点?
答案 0 :(得分:0)
我建议在指令之上设置service
或controller
(取决于控制器是否适用于此情况)。它可以保存变量的基本副本,并可以读取或写入。
例如,在您的指令中:
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>