手把不在模板中

问题描述 投票:0回答:1

我有一个车把的模板,我想使用它,但是当我使用时,我得到了所有的标签,但没有文字。这是我的HTML。

<script src="../static/js/main.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/handlebars@latest/dist/handlebars.js"></script>
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/socket.io/1.3.6/socket.io.min.js"></script>
    <script id="template" type="text/x-handlebars-template">
        <li class="message">
            <h6>{{username}}</h6>
            <p>{{message}}</p>
            <p>{{date}}</p>
        </li>
    </script>

在main. js中

socket.on('message', data => {
        console.log('message recieved')
        console.log(data.channel)
        console.log(document.querySelector("#active").innerHTML)
        if (data.channel === document.querySelector("#active").innerHTML) {
            console.log(data.sent_by)
            console.log(data.message)
            console.log(data.time)
            var template = Handlebars.compile(document.querySelector('#template').innerHTML);
            console.log(document.querySelector('#template').innerHTML)
            const context = {'username' : data.sent_by,
                            'message' : data.message,
                            'date' : data.time,};
            var html = template(context);
            console.log(context)
            console.log(html)
            document.querySelector('#view-message').innerHTML += html
        } 
    })

所有的日志信息都在运行,所以套接字正在接收数据,if条件正在被触发。我在同一个项目的前一节中使用了handlebars,它在那里工作得很好,所以我不知道为什么它在这里不能工作。谢谢!我有一个handlebars模板,但我不知道为什么在这里不能工作。

javascript handlebars.js
1个回答
0
投票

移动你的脚本 <script src="../static/js/main.js"></script> 彻头彻尾

© www.soinside.com 2019 - 2024. All rights reserved.