我在开始时在页面上创建了一个变量,每当我更改该变量时,我都会调用一个方法。我想做一些类似的事情,如果我为该变量分配新值,并且该方法执行autoaLLy。对于代码参考,我在下面写一些东西。
好吧,我不想每次都写两行,就像第一行为变量赋值和第二行调用方法一样。我只想编写仅用于分配变量的一行,它会自动执行该方法。
请帮助我。
var SelectedUser = 0;
function LoadInformation()
{
alert("Selected User is " + SelectedUser);
}
function UpdateSelectedUser(){
SelectedUser = 5;
}
答案 0 :(得分:1)
您可以在javascript中使用设置器,如下所示:
const express = require('express');
const app = express();
const router = express.Router();
app.use(function(req, res, next) {
res.header('Access-Control-Allow-Origin', 'http://localhost:3000');
res.header('Access-Control-Allow-Credentials', true);
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, DELETE');
next();
});
const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.post('/upload/files', (req, res) => {
var fileName = req.body.currentFileName;
var fileType = req.body.currentFileType;
console.log('Nom du fichier: ' + fileName + ' ' + 'Type du fichier: ' + fileType);
res.send(fileName + fileType);
});
const port = 5000;
app.listen(port, () => `Server running on port ${port}`);
希望这会有所帮助
答案 1 :(得分:1)
使用Proxy对象。
Proxy对象用于为基本对象定义自定义行为 操作(例如,属性查找,赋值,枚举,函数 调用等)。
向我显示代码
var targetVariable = {};
var targetProxy = new Proxy(targetVariable, {
set: function (target, key, value) {
console.log('Value changed');
target[key] = value;
return true;
}
});
targetProxy.hello_world = "test"; // console: 'value changed!!'
答案 2 :(得分:1)
由于使用的是jQuery,因此可以轻松触发事件并附加自定义事件侦听器。例如,每次您更改变量内容时都会触发valueChanged
事件:
var SelectedUser = 0;
$(document).on('valueChange', function() {
alert("Selected User is " + SelectedUser);
})
function UpdateSelectedUser(){
SelectedUser = 5;
$('body').trigger('valueChange')
}
UpdateSelectedUser();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>