javascript - Express, das Front-End-Entwicklungsframework, wie füge ich unter seiner Template-Engine Bindungsereignisse zu Schaltflächen hinzu?
我想大声告诉你
我想大声告诉你 2017-06-22 11:54:30
0
3
1078

Ich verwende Express bei der Arbeit und dies ist das erste Mal, dass ich Express verwende.
Es wird eine Weile dauern, bis ich mich an die Vorlagen-Engine gewöhnt habe! Aber das ist nicht der Punkt.
Die erste Frage: Wie füge ich ein Klickereignis hinzu (ähnlich Vue, Angular oder so etwas: v-bind=xxx??? Gibt es so etwas??)

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")="已加入"

Zweite Frage:
Alle Seitendaten werden von der Schnittstelle bezogen
Also:

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 会报错!!! */
});

Diese Schnittstelle kann nur einen Teil der Daten auf der Seite abrufen.
Es gibt jedoch immer noch einen Teil der Daten, der auf eine andere Schnittstelle zugreifen muss. Sie können die Route nicht zweimal schreiben (die obige wird mithilfe von Routing geschrieben). ? Es ist sinnlos, zwei zu schreiben.

Das Problem sind diese beiden, ich weiß nicht, ob ich sie klar ausdrücken kann.
1. Wie binde ich Ereignisse an Elemente?
2. So greifen Sie auf zwei Schnittstellen auf derselben Seite zu

我想大声告诉你
我想大声告诉你

Antworte allen(3)
Ty80

1.可以直接在元素上写onclick="要执行的函数",或者在模板底部引入新js,在js中查找dom元素绑定,比如
var ele=document.getElement("button").addEventlistener("click",function(){要执行的逻辑})
2.可以绑定动态name,或者加个参数判断

Peter_Zhu

第一个问题:
https://forum-archive.vuejs.o...
第二个问题:
你可以在后端请求两个接口,然后把两个接口请求到的数据放进一个对象里面在页面上使用,也可以前端页面用js请求另一个接口的数据然后使用

ringa_lee

另外写一个js文件,在pug里面通过script标签引入,
js文件要用expressstatic方法包装一下。

比如在koa下的写法:

app.use(mount('/static', serve(__dirname + '/app/static')));
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage