我使用JS的新类语法。当我按下按钮时,我想从一个类中调用一个方法。为了实现这一点,我将此方法设置为静态。
class NoteController { // The controller class
constructor() { // Initialization
// ...
}
static CreateNote() { // The method to call - static
// ....
}
}
<!DOCTYPE html>
<html>
<head>
// ....
<script src="NoteController.js"></script> // Link the js file to the html file
</head>
<body>
// ....
<button type="button" id="btnCreateNote" onclick="NoteController.CreateNote()">Create</button> // call the method
</body>
</html>
当我点击按钮时,它说,NoteController没有定义。我真的没有,那里有什么不对。
我的项目文件夹的图片:
也许这有帮助。
答案 0 :(得分:2)
编辑: 校正使其静止:
<script>
class NoteController { // The controller class
constructor() { // Initialization
// ...
alert('constructor called');
}
static CreateNote() { // The method to call - static
// ....
alert('create note');
}
}
//var nc=new NoteController();
//console.log(nc);
</script>
<button type="button" id="btnCreateNote" onclick="NoteController.CreateNote()">Create</button> // call the method
这是您的代码的工作示例:
<script>
class NoteController { // The controller class
constructor() { // Initialization
// ...
alert('constructor called');
}
CreateNote() { // The method to call - static
// ....
alert('create note');
}
}
var nc=new NoteController();
console.log(nc);
</script>
<button type="button" id="btnCreateNote" onclick="nc.CreateNote()">Create</button> // call the method
工作JSFiddle
答案 1 :(得分:1)
由于缺少有关NoteController.js的信息,我假设您的NoteController.js具有以下代码。
function NoteController()
{
//variables
//sub functions
function CreateNote()
{
//code
}
}
所以现在你需要创建函数的对象并调用它。
<script src="NoteController.js"></script>
<script>
var _noteController=new NoteController();
</script>
<body>
<button type="button" id="btnCreateNote"
onclick="_noteController.CreateNote()">Create</button>
</body>
答案 2 :(得分:1)
将您的班级包含在<script>
代码中,以便浏览器识别javascript代码并执行它!