具有AngularJs表达式的Skycons类不起作用

时间:2016-10-16 22:49:12

标签: javascript angularjs canvas

我正在使用Dark Sky的Api制作天气页面,并尝试使用Skycons。我添加了Skycons作为一个类,而不是id。当我像这样使用它时:

<canvas class="fog" width="50" height="50"></canvas

一切正常,但当我尝试使用它时,使用weatherCtrl.demoIcon =“fog”:

<canvas class="{{ weatherCtrl.demoIcon }}" width="50" height="50"></canvas>

它没有显示图标。我尝试了以下方法:

<canvas ng-class="weatherCtrl.demoIcon" width="50" height="50"></canvas>
<canvas class="ng-class:{{ weatherCtrl.demoIcon }}" width="50" height="50"></canvas>

有趣的是,虽然图标没有显示,但是我在CSS中添加了.fog的边框,它显示了一个空白方块。

skycons JavaScript是:https://github.com/darkskyapp/skycons/blob/master/skycons.js

1 个答案:

答案 0 :(得分:0)

我找到了问题的答案。使用

  

$ timeout(function(){         for(i = list.length; i--;){             var weatherType = list [i],                 elements = document.getElementsByClassName(weatherType);             for(e = elements.length; e--;){                 icons.set(elements [e],weatherType);             }         }       },0);

将在评估表达式后初始化画布,并将解决问题