搜尋

首頁  >  問答  >  主體

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

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

ul(class="communityList")
    each item in tree
      a(href="joingroup/1")
           li(class="CommList")
               p(class="comLogo")
                   if item.img
                       img(src="#{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="" 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、怎麼在同一個頁面上存取兩個介面

我想大声告诉你我想大声告诉你2712 天前1080

全部回覆(3)我來回復

  • PHP中文网

    PHP中文网2017-06-22 11:56:30

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

    回覆
    0
  • 天蓬老师

    天蓬老师2017-06-22 11:56:30

    第一個問題:
    https://forum-archive.vuejs.o...
    第二個問題:
    你可以在後端請求兩個接口,然後把兩個接口請求到的數據放進一個物件裡面在頁面上使用,也可以前端頁面用js請求另一個介面的資料然後使用

    回覆
    0
  • ringa_lee

    ringa_lee2017-06-22 11:56:30

    另外寫一個js文件,在pug裡面透過script標籤引入,
    js檔案要用expressstatic方法包裝一下。

    例如在koa下的寫法:

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

    回覆
    0
  • 取消回覆