我使用requirejs并具有以下定义的模块:
loginView.js
define(['login'], (login) => {
if (window.location.pathname === '/login') {
const loginPage = `
<form>
<input type="text">
<input type="password">
<input type="button" onclick="${login.login()}" />
</form>
`
document.getElementById('my-app').innerHTML = loginPage;;
}
})
我的登录方法在一个单独的模块中定义:
loginHandler
define(['require', 'axios'], (require, axios) => {
return {
login: function() {
// do stuff
}
}
})
问题是在页面加载时立即调用登录处理程序,因为我可以看到所有console.log
调用,这不是我想要的。我认为它与login.login()
有关,但将其设置为login.login
会在页面中呈现实际方法。
如何在requirejs中使用onclick
事件处理程序?
答案 0 :(得分:0)
只需要使用登录功能交换require。
const login = () => {
require(['require', 'axios'], (require, axios) => {
// do stuff
})
}