账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue-ssr中实例渲染中的script问题
    26
    0

    在vue-ssr项目中渲染一个vue实例,直接像spa那样初始化vue实例的话事件不会被触发,想知道怎么给template中的dom元素绑定事件?

    相关代码

    const fs = require('fs')
    const Vue = require('vue')
    const server = require('express')()
    const VueServerRenderer = require('vue-server-renderer')
    const renderer = VueServerRenderer.createRenderer({
      template: fs.readFileSync('./index.template.html', 'utf-8')
    })
    
    server.get('*', (req, res) => {
      const app = new Vue({
        template: `
          <div>
            <button @click="testFun">click me</button>
            <br/>
          </div>
        `,
        methods: {
          testFun() {
            console.log('----------------')
          }
        }
      })
    
      renderer.renderToString(app, context).then(html => {
        res.end(`${html}`)
      }).catch(err => {
        res.status(500).end('Internal Server Error')
        return
      })
    })
    
    server.set('port', process.env.PORT || 6666)
    let hostname = '127.0.0.1'
    server.listen(server.get('port'), hostname, () => {
      console.log(`Server running at http://${hostname}:${server.get('port')}`)
    })

    希望知道怎么在ssr中写这些函数,谢谢

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 快来救我 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部