gpt4 book ai didi

javascript - 如何在更改值后立即发布作用域变量?

转载 作者:行者123 更新时间:2023-11-28 18:30:09 25 4
gpt4 key购买 nike

我正在学习 Angularjs 并想使用 $http.post() 方法。在 HTML 中 在 JavaScript 中

$scope.onevariable ='value1'
$scope.doSomething = function(){
$scope.onevariable = 'value2';
$http.post('someurl',{onevariable:$scope.onevariable }).then(function(){...})}

问题是我想将更改后的 $scope.onevariable 作为参数发布到服务器,并且在单击按钮后必须更改此变量。但是,这个 $scope.onevariable 可以在更改为“value2”之前发布,那么如何在值更改后准确发布它。 'value2' 对我来说是未知值,或者是加密字符串,您可以将其视为随机字符串。

最佳答案

嗯,我不知道我是否很好地理解你的问题,但这是一个有效的片段:

var app = angular.module('app', []);

app.controller('mainCtrl', function($scope) {
$scope.onevariable ='';
$scope.post = false;
var increment = 0;

$scope.changeVar = function() {
$scope.onevariable = 'value' + ++increment;
}

$scope.$watch('onevariable', function(newValue, oldValue) {
if (newValue != oldValue && newValue == 'value2') {
doPost();
}
});

function doPost () {
// post
$scope.post = true;
}
});
<!DOCTYPE html>
<html ng-app="app">

<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.7/angular.min.js"></script>
</head>

<body ng-controller="mainCtrl">
<button ng-click="changeVar()">Click me</button>
<hr ng-if="onevariable" />
<code ng-bind="onevariable"></code>
<hr />
<code ng-bind="'Post? ' + post"></code>
</body>

</html>

关于javascript - 如何在更改值后立即发布作用域变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38204373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com