简体   繁体   English

角材料:md-button〜根据NodeRed上的输入来更改按钮的文本

[英]Angular Material: md-button ~ hoot change the text of the button based on input on NodeRed

in NodeRed, I use the newish UI_Dashboard Template node, which use normal Angular Material notation for buttons etc, I have the following doing a working button: 在NodeRed中,我使用新的UI_Dashboard Template节点,该按钮对按钮等使用常规的Angular Material表示法。

<md-button
ng-style="{background: msg.payload=='0' ?'green':'red'}"
ng-click="msg.payload = (msg.payload=='0' ? send({payload: 'event,allsprinkleroff'}) : send({payload: 'event,allsprinkleroff'})) "
> Button Name

But, I want the 'Button Name' to change based on the incoming msg.payload value. 但是,我希望“按钮名称”根据传入的msg.payload值进行更改。 Any ideas now? 现在有什么想法吗? All my googling and searching here did not give me answers? 我所有的谷歌搜索和搜索都没有给我答案? (newbi) (newbi)

Here you go - CodePen 随您去-CodePen

Markup 标记

<div ng-controller="AppCtrl" ng-cloak="" ng-app="MyApp">
  <md-button ng-style="{background: msg.payload=='0' ?'green':'red'}" ng-click="msg.payload =(msg.payload=='0' ? send({payload: 'event,allsprinkleroff'}) : send({payload:'event,allsprinkleroff'})) ">Payload {{msg.payload}}</md-button>

  <br>
  <md-button ng-click="togglePayLoad()">Toggle Payload</md-button>
</div>

JS JS

angular.module('MyApp',['ngMaterial', 'ngMessages'])

.controller('AppCtrl', function($scope) {
  $scope.msg = {
    payload: 0
  }

  $scope.togglePayLoad = function () {
    $scope.msg.payload = ($scope.msg.payload === 0) ? 1 : 0;
  }
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM