如何从 AngularJS 中计时器指令的“倒计时”属性中获取范围变量

how to get a scope variable from a "countdown" attribute of a timer directive in AngularJS

本文关键字:倒计时 属性 获取 变量 范围 AngularJS 计时器 指令      更新时间:2023-09-26

>我正在尝试从计时器指令的 countdown 属性访问$scope变量。更深入的是,我有这个计时器指令:

<timer interval="1000"  countdown="scadenza">{{days}} days, {{hours}} hours, {{minutes}} minutes, {{seconds}} seconds</timer>

变量 'scadenza' 在具有语法$scadenza的视图的相对控制器中定义,但该属性无法访问该变量。

有什么想法吗?

在你的

directive中,除了templatecontroller,还可以再添加一个对象scope

scope对象定义directive的哪些属性将映射到指令的范围。

因此,如果您希望指令范围内的countdown变量...将此代码添加到directive的声明中...

   ..... 
   template : "...",
   scope : {
     countdown : "="
   },
   controller : function
   .....

"="表示倒计时变量指向 scadenza 的引用。因此,如果您对指令中的倒计时变量进行任何更改。这些将反映在斯卡登扎中。

现在,您可以在指令的$scope中访问countdown变量。