您的位置:首頁技術文章
文章詳情頁

javascript - 前端開發框架express,在他的模板引擎下怎么給按鈕添加綁定事件?

瀏覽:83日期:2023-08-29 17:09:24

問題描述

工作中用到了express,也是第一次使用express模板引擎也是一時半會適應不了!不過這不是重點。第一個問題:怎么添加點擊事件(類似vue,angular什么的寫法:v-bind=xxx???有這樣的??)

ul(class='communityList') each item in tree a(href='http://www.wxshucaidpc.com/wenda/joingroup/1') li(class='CommList') p(class='comLogo') if item.img img(src='http://www.wxshucaidpc.com/wenda/8085.html#{item[’img’]}') else img(src='http://cdn.duitang.com/.thumb.600_0.jpeg') p(class='content') p(class='cTitle')=item[’name’] p(class='comInfo')='簡介:' + item[’content’] if item[’join’] == 0 p(class='button')='加入' /* 我想給這個按鈕添加點擊事件 */ else a(href='http://www.wxshucaidpc.com/wenda/8085.html' class='ybutton')='已加入'

第二個問題:頁面數據全從接口拿所以:

router.get(’/join’, function (req, res, next) { request.post({url: ’https://api.xxx.com/bbs/list’, form: {userId: 10000}}, function (err, httpResponse, body) {body = JSON.parse(body);res.render(’join’, {tree: body[’return’]}); }); /* 如果把第二個接口寫在這里 也不行,再次render 會報錯?。?! */});

這一個接口只能拿頁面的一部分數據,但是,還有一部分數據需要訪問另一個接口,總不能寫兩次路由吧(上面那個是用路由寫的)?寫兩個也沒用啊。

問題就是這兩個,不知道表達清楚沒有。1、怎么給元素綁定事件?2、怎么在同一個頁面上訪問兩個接口

問題解答

回答1:

1.可以直接在元素上寫onclick='要執行的函數',或者在模板底部引入新js,在js中查找dom元素綁定,比如var ele=document.getElement('button').addEventlistener('click',function(){要執行的邏輯})2.可以綁定動態name,或者加個參數判斷

回答2:

第一個問題:https://forum-archive.vuejs.o...第二個問題:你可以在后端請求兩個接口,然后把兩個接口請求到的數據放進一個對象里面在頁面上使用,也可以前端頁面用js請求另一個接口的數據然后使用

回答3:

另外寫一個js文件,在pug里面通過script標簽引入,js文件要用express的static方法包裝一下。

比如在koa下的寫法:

app.use(mount(’/static’, serve(__dirname + ’/app/static’)));

標簽: JavaScript
国产综合久久一区二区三区