Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 只能从复选框事件访问一个类变量_Javascript_Angularjs_Typescript_Events - Fatal编程技术网

Javascript 只能从复选框事件访问一个类变量

Javascript 只能从复选框事件访问一个类变量,javascript,angularjs,typescript,events,Javascript,Angularjs,Typescript,Events,我确信这是一个新手的错误,所以请原谅我,因为我(本周)是安格拉斯的新人 我有一个输入,它是一个复选框,如下所示,它连接到一个ng更改事件 <input type="checkbox" ng-model="vm.hasCondoKey" ng-change="vm.onKeyCheckboxChange()" /> “CondoKeyController”嵌套在父级中,父级通过指令将数组“additionalItems”传递给该控制器。我可以在其他函数中看到这些其他变量,当构造控制器

我确信这是一个新手的错误,所以请原谅我,因为我(本周)是安格拉斯的新人

我有一个输入,它是一个复选框,如下所示,它连接到一个ng更改事件

<input type="checkbox" ng-model="vm.hasCondoKey" ng-change="vm.onKeyCheckboxChange()" />
“CondoKeyController”嵌套在父级中,父级通过指令将数组“additionalItems”传递给该控制器。我可以在其他函数中看到这些其他变量,当构造控制器时,它们可以很好地将其放入这个控制器中

我的问题是,在函数“onKeyCheckBoxChange”中,我可以访问“this.hasCondoKey”,但无法访问任何其他值,如“this.condoKey”或“this.additionalItems”。

我认为这与我的函数的范围和上下文有关,因为它来自一个checkbox事件,但随后我推断我不应该访问“this.hasCondoKey”值。该值在我的断点中读取为“true”,因此它已从其初始化值更改

有人知道为什么我可以访问一些变量而不能访问其他变量吗?另外,如何访问其他变量

Angularjs 1.6.6
Typescript~2.3.1

向方法中添加一些调试帮助日志:

public onKeyCheckboxChange(): void {
        console.log("Checkbox changed.");
        console.log(this.condoKey);
        console.log(this.additionalItems);
        // ...
}

检查结果。可能
condoKey
additionalItems
未定义,这意味着它们从未设置过。

感谢Tadija的建议,我将添加该日志记录。我想指出的是,帖子中有一条说明,说明初始化已通过断点-->在构造函数中得到确认。这是一篇很长的帖子,很难分辨出来,对此表示抱歉。实际上,在Tadija的帮助下,我们已经解决了这一问题。我在添加“&&addOn.quantity>0”时心不在焉。在很多情况下都是这样,但不是少数。很抱歉打扰您…这是我在没有咖啡的情况下编写代码时发生的情况…很高兴能提供帮助!祝你好运,把咖啡放在附近!在方法中记录这两个字段是否显示了什么?你能解释一下“我无法访问任何其他值”是什么意思吗?你有例外吗?编译错误?
public onKeyCheckboxChange(): void {
        console.log("Checkbox changed.");
        console.log(this.condoKey);
        console.log(this.additionalItems);
        // ...
}