是否有快速标记所有按钮的方式,以便在单击时,如果用户未登录,将显示登录/注册页面。如果他已登录,则单击事件将传播到按钮。 / p>
此按钮不会导致更改网址。
我只能考虑向模板添加click .checkIfLoggedin
事件侦听器,并为每个模板重复相同的代码。有没有一种方法不那么多余?
答案 0 :(得分:0)
不是在按钮上附加逻辑,通常的做法是将该逻辑放在目标中。例如,按钮转到membersOnly
,如果用户未登录,则转发到登录页面。
如果按钮用于不更改url的动作(例如upvote),那么你已经有了一个事件监听器,所以你可以在回调的顶部调用你的检查功能。所有按钮都可以调用单个功能。
如果您有多个按钮执行相同的操作(例如,许多不同的地方可以进行upvote),那么您最终将拥有完全相同的事件侦听器回调。如果是这种情况,您可以将该按钮视为一个组件,给它自己的模板&事件地图,&然后从父模板(以及任何必要的上下文)调用它。这样就不需要在不同的父模板上剪切和粘贴事件监听器。