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
1.可以直接在元素上写onclick="要执行的函数",或者在模板底部引入新js,在js中查找dom元素绑定,比如
var ele=document.getElement("button").addEventlistener("click",function(){要执行的逻辑})
2.可以绑定动态name,或者加个参数判断
第一个问题:
https://forum-archive.vuejs.o...
第二个问题:
你可以在后端请求两个接口,然后把两个接口请求到的数据放进一个对象里面在页面上使用,也可以前端页面用js请求另一个接口的数据然后使用
另外写一个
js
文件,在pug里面通过script标签引入,js文件要用
express
的static
方法包装一下。比如在
koa
下的写法: