[英]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.