javascript - 修改函数变量中的变量
问题描述
我想知道如何在匿名函数中访问和修改变量 a,我尝试输入箭头,但我进入浏览器:未定义
import * as Konva from 'konva';
export class classTest {
public a: number;
access(){
var stage = new Konva.Stage({ container: 'container', width: 400, height: 250 });
var layer1 = new Konva.Layer();
var imageObj = new Image();
var self = this
imageObj.onload = function () {
self.a = 150
var yoda = new Konva.Image({
x: 50,
y: 50,
image: imageObj,
width: 106,
height: 118
});
layer1.add(yoda);
//stage.add(layer1)
};
imageObj.src = '/assets/images/yoda.jpg';
//console.log(a)
如果我在 layer1 中添加一个宽度 = a 的矩形,它将与您解释的相同(我得到一条线),那么我该怎么做。
var box = new Konva.Rect({
x: 20, y: 20,
width: this.a,
height: 50,
fill: '#00D2FF', stroke: 'black',
strokeWidth: 4
});
stage.add(layer1)
}
解决方案
console.log(this.a);
早于执行
imageObj.onload
这就是为什么你得到undefined
内部imageObj.onload
一切正常。
推荐阅读
- sql - 我想使用 SQL SERVER 在 SQL 中获取 while 循环的最终结果(参考代码)
- c - 如何在 Windows 中打印 \n?
- mongodb - 编辑 mongo.conf 后 MongoDB 状态失败(代码退出,状态 = 2)
- akka - 为什么 Akka 远程流量通过 UDP?
- angular - Angular - 大型查询的 Http 请求返回 null
- reactjs - 如何正确访问 React 组件中的 Redux 存储?
- graphql - 为什么 GraphQL 被称为“API”而不是任何数据的查询语言?
- azure-data-factory - Azure 数据流筛选不同的行
- microsoft-graph-api - 具有依赖项的 Microsoft Graph API 批处理请求?
- postgresql - 如何修复:错误将映射结果集转换为返回类型