angular - 如何从 $(document) 中调用函数或变量?
问题描述
我尝试使用this.calculatePrice
但不工作,无法minTraveller
从内部访问外部变量
numberSpin(min: number, max: number) {
$(document).on('click', '.number-spinner button', function () {
const btn = $(this);
// let oldValue = 0;
let newValue = 0;
const oldValue = Number(btn.closest('.number-spinner').find('input').val());
if (btn.attr('data-dir') == 'up') {
if (oldValue < max) {
newValue = oldValue + 1;
} else {
newValue = max;
}
} else {
if (oldValue > min) {
newValue = oldValue - 1;
} else {
newValue = min;
}
}
btn.closest('.number-spinner').find('input').val(newValue);
sessionStorage.setItem('totalAdult', String(newValue));
calculatePrice();
});
// console.log(this.minTraveler);
}
calculatePrice() {
console.log(sessionStorage.getItem('totalAdult'));
}
我该如何解决?
解决方案
你可以这样做,它和我一起工作。
numberSpin(min: number, max: number) {
$(document).on('click', '.number-spinner button', () => this.handleClick());
}
handleClick() {
const btn = $(this);
// let oldValue = 0;
let newValue = 0;
const oldValue = Number(btn.closest('.number-spinner').find('input').val());
if (btn.attr('data-dir') == 'up') {
if (oldValue < max) {
newValue = oldValue + 1;
} else {
newValue = max;
}
} else {
if (oldValue > min) {
newValue = oldValue - 1;
} else {
newValue = min;
}
}
btn.closest('.number-spinner').find('input').val(newValue);
sessionStorage.setItem('totalAdult', String(newValue));
this.calculatePrice();
}
calculatePrice() {
console.log(sessionStorage.getItem('totalAdult'));
}
推荐阅读
- python - Python-requests + Django 更改 URL 中的参数结构
- javascript - Visual Studio 2019 社区中用于 JavaScript 的通用 Windows 平台 (UMP) 在哪里?
- c++ - 在我的 cpp 或头文件中找不到错误,类构造失败
- regex - Ansible通过逐行循环文件来使用正则表达式替换IP地址
- sql - 显示一行有一个时间戳和一个对应的 x 整数数组,显示为 x 行,有 x 个时间戳和一个对应的整数
- graph-databases - 在处理可选字段时在 gremlin 中使用注入进行长遍历
- c++ - 在终端(macOS)中编译 hello world.cpp
- c# - 如何隐藏 Html.ActionLink 页面加载
- azure-iot-hub - 如何在 AWS IOT 和 Azure IOT HUB 中查看 MQTT 数据
- arrays - 如何在 Angular 7 打字稿中合并 2 个数组