javascript - 如何根据 url 的结果更改我的 angular 7 网站上的 css 元素?

标签 javascript html css angular angular7

我有几个 sonoff tasmotas,我正在为它们制作一个 Web 控制面板。如果我去 http://sonoff/cmnd?cmnd=Power (或类似的东西)它将以 {"power": "on"} 或 {"power": "off"} 响应。如何根据此响应更改应用于 html 对象的 css 类。当我在不重新加载页面的情况下手动按下​​ sonoff 上的按钮时,我还需要更改它。

任何帮助将不胜感激

我完全是菜鸟,我使用 ng new PrinterPanel --routing 创建了一个新元素并且没有对结构做太多改动。

最佳答案

我猜测对 URL 的调用是从 Controller /服务发出的。 如果是这种情况,您可能会在点击和其他事件上调用一些函数,也许这样的方法对您有用:

<span ng-class="styleFunction('Power')">some text</span>

在 Controller 中:

$scope.styleFunction = function(param){

$http.get(http://sonoff/cmnd?cmnd=" + param)
  .then(function(response) {
    if (response[param] === 'on')
        return "ClassOn";
    else
        return "ClassOff";
  });    
  }  
}

关于javascript - 如何根据 url 的结果更改我的 angular 7 网站上的 css 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55075304/

相关文章:

javascript - onLoad 事件在图像完成加载之前触发

javascript - 如何删除表动态行?

javascript - 选择的 jquery 脚本不工作

jquery - 通过单击将 span 标签替换为多个链接

javascript - 如何使用 Typeahead 和 Bloodhound 一次性使用多个数据集?

javascript - Ember.js 观察者

html - 将 <p> 中的水平文本与倾斜的 <div> 对齐

php - 从 MySQL 结果生成的 HTML 表,以使用 PHP 的形式进行处理

java - 麻烦样式 ScrollPane Angular 颜色

html - 无论字符数如何,使两行文本宽度相同