簡體   English   中英

試圖在功能范圍之外的JavaScript中使用變量

[英]trying to use variables in javascript outer the function scope

我使用node-red並注入了一些json變量,我只能在函數范圍內看到它們,如何在函數外部使用它們。

我已經嘗試過angularjs控制器,但是沒有用,也許我沒有正確使用它

<!DOCTYPE html>

<html>

<body>

  <div>{{msg.payload}}</div>

  <div>{{value}}</div><br>

  <div>{{value1}}</div><br>

  <div>{{value2}}</div><br> // i can see the contents

  <md-button ng-click="send({payload:action()})">

  </md-button>

  <script>
    (function(scope) {

      scope.$watch('msg', function(msg) {

        if (msg.payload.image) {

          scope.value2 = msg.payload.image;

        }
        if (msg.payload.text) {

          scope.value1 = msg.payload.text;

        }

        if (msg.payload.volume) {

          scope.value = msg.payload.volume;

        }

        scope.action = function() {

          return [scope.value, scope.value1, scope.value2];

        }

      });

    })(scope);
  </script>

</body>

</html>

變量僅在創建它們的作用域(和“子作用域”中)有效且可訪問。

如果您想要一些全局變量,則只需創建一個“全局變量”(僅適用於google)。

但是,由於您使用的是Angular(盡管是舊的“ angularjs”而不是新的“ Angular”版本),所以有更好的方法。 在Angular(新的,不知道舊的)中,您可以創建和使用一種稱為“服務”的東西。 那些是某種全局可訪問對象,可以容納許多變量和東西以供代碼中的其他地方使用。

但是:根據您的用例,您還可以在外部角度組件上創建變量,並將其插入/傳遞到子組件中。 這樣既可以使用又可以訪問它。 閱讀有關此目的綁定/ 2方式綁定的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM