我是新手,所以要善良。
我在同一组件中有这两个函数。
第一个:
addCost() {
$(document).ready(function(){
(<any>$('input')).iCheck({
checkboxClass: 'icheckbox_square-blue',
radioClass: 'iradio_minimal-grey'
});
$('#not2bpaid').on('ifChecked', () => {
this.not2bpaid_tosend = "N";
});
}
"ifChecked"回调中的这个变量赋值有效,我已经确定了这一点。
然后我有另一个函数,它在 html 中的点击事件上调用,它使用变量 not2bpaid_tosend。
addCost(( 在函数 at click 事件之前被调用,但到那时not2bpaid_tosend已经失去了它的值。
我还尝试在从 html 触发第二个函数时将not2bpaid_tosend作为参数传递给第二个函数。相同的结果。那时变量为空。 而且我在这两个函数之间的任何其他时间都不会触及该变量。
不知道这里发生了什么或如何解决它。可能是我忽略了一些简单的东西,因为正如我所说,我是这个角度的新手。
任何帮助将不胜感激。 谢谢
你必须使用箭头函数,同时将函数一个参数传递给jquery的ready函数,以保持组件类的上下文完整。
addCost() {
$(document).ready(() => {
(<any>$('input')).iCheck({
checkboxClass: 'icheckbox_square-blue',
radioClass: 'iradio_minimal-grey'
});
$('#not2bpaid').on('ifChecked', () => {
this.not2bpaid_tosend = "N";
});
});
}