2015-08-18 4 views
0

Я пытался получить значение времени выполнения (msg.payload) из функционального узла (узел-красный) и предоставить его узлу шаблона (узел-красный) для отображения соответствующего изображения в соответствии с входом. Я использовал приведенный ниже код, но изображение не меняется в соответствии с выбором ввода. Ниже приведен код. Пожалуйста, взгляните и предоставьте мне некоторые идеи или что нужно изменить, чтобы заставить его работать.Отображение с использованием узла шаблона в узле red (IBM BLUEMIX)


          
  
<html> 
 
    <head> 
 
    <script type="text/javascript"> 
 
     function displayImage() { 
 
      var j=parseInt({{payload}}); 
 
      document.getElementById("img").src = images[j]; 
 
     } 
 

 
     function startTimer() { 
 
      setInterval(displayImage,3000); 
 
     } 
 

 
     var images = []; 
 
     images[0] = "image1.jpg"; 
 
     images[1] = "image2.jpg"; 
 
     images[2] = "image3.jpg"; 
 
    </script> 
 
    </head> 
 
    <body onload="startTimer()"> 
 
    <img id="img" src="image1.jpg"/> 
 
    </body> 
 
</html>
+0

Что такое код? –

+0

<тип скрипта = "текст/JavaScript"> функция displayImage() { вар J = ParseInt ({{}} полезной нагрузки); document.getElementById ("img"). Src = images [j]; } функция стартTimer() { комплектInterval (дисплейImage, 3000); } var images = []; images [0] = "image1.jpg"; изображения [1] = "image2.jpg"; изображения [2] = "image3.jpg"; <тела OnLoad = "StartTimer()">

+0

Какова структура полезной нагрузки, есть поле для номера изображения? –

ответ

1

Используйте console.log (сообщение) и проверьте:

  1. в {{}} полезной нагрузки параметр должен быть целым числом, как вы ожидали
  2. значение параметра J, после его присвоения , должно быть целое число от 0-2
0

Вы имеете дело с NodeRED. Самый простой способ узнать о вашем параметре полезной нагрузки - использовать узел Debug (темно-зеленый) и прикрепить его к тому же выводу, что и узел шаблона. Затем вы очень быстро увидите, из чего он сделан. Скорее всего, ваша полезная нагрузка - объект JSON. Что-то вроде этого:

{ "name" : "Peter", 
    "color" : "Blue", 
    "image" : "2" 
    } 

... или аналогичный.

Тогда вы просто изменить, что содержание в {{ }}, чтобы отразить переменную внутри объекта JSON, который имеет номер, который вы заинтересованы в как:.

 {{payload.image}} 

Дважды проверить функцию узла. Если это не заканчивается оператором return (обычно return msg), у вас просто не будет ввода.

Смежные вопросы