我有一个用Node.js编写的类,但是当我在类中触发一个函数时,它运行了两次console.log。
class Client{
constructor(){
this.test();
}
test(){
console.log("testing");
}
}
var RR = new Client;
RR.test();
我感谢所有的帮助,我认为这对你来说是常识,但我无法解决。
控制台输出:
C:\Users\XXX\Desktop\NodeRR>node index.js
test
test
答案 0 :(得分:4)
$scope.displayPopUp=function(){
var alertPopup = $ionicPopup.show({
templateUrl: 'sharePopUp.html',
title: 'Invite a friend',
cssClass: 'popupShare',
buttons:[
{
text:'Close',
type: 'button-round button-no',
onTap: function(){
/* Some instructions here */
}
},
{ /* v THIS IS THE BUTTON I WANT TO DISABLE UNDER CERTAIN CONDITIONS v */
text:'Share',
type: 'button-round button-yes',
onTap: function(){
/* Some instructions here */
}
}
]
});
$(".button-yes")[0].setAttribute("ng-disabled", "MyFunction()"); /* NOT WORKING BECAUSE button-yes IS NOT EXISTING YET */
}
这部分代码在创建新对象时调用测试方法,然后您在行中再次调用它
constructor(){
this.test();
}
删除构造函数调用或您自己的调用。然后它将根据您的要求运行一次。
答案 1 :(得分:2)
正在构造函数上调用方法test
,因此在创建新实例时,将调用构造函数并调用该方法。
如果您不希望它被调用两次,请从构造函数中删除它,然后使用RR.test();
。
答案 2 :(得分:0)
在代码中,您可以在构造函数中调用test()函数。所以当你执行new Client()
时,它会调用构造函数。然后你拨打RR.test()
。
答案 3 :(得分:0)
您正在从课程中调用方法Client#test
' constructor
方法和来自给定引用的此实例。您可以通过从this.test();
类'中删除行Client
来解决此问题。构造函数或从脚本中删除行RR.test();
。