Javascript KnockoutJS:在呈现原因后应用绑定;xxx未定义“xxx”;

Javascript KnockoutJS:在呈现原因后应用绑定;xxx未定义“xxx”;,javascript,web,knockout.js,Javascript,Web,Knockout.js,我想消除这个错误,但我目前在一个特殊的块上使用KnockoutJS。问题是,当ko读取数据绑定时,我的ViewModel还没有创建。我在ko上膛后把它绑起来。 以下是我的HTML视图: <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>{% block title %}{% endblock %} - Evosphere</title>

我想消除这个错误,但我目前在一个特殊的块上使用KnockoutJS。问题是,当ko读取数据绑定时,我的ViewModel还没有创建。我在ko上膛后把它绑起来。 以下是我的HTML视图:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>{% block title %}{% endblock %} - Evosphere</title>
    <link rel="icon" type="image/x-icon" href="{{ asset('design/img/icons/favicon.png') }}" />

    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">

    <link href='https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,700' rel='stylesheet' type='text/css'>
    <link href='https://fonts.googleapis.com/css?family=Bitter' rel='stylesheet' type='text/css'>

    <link href='{{ asset("design/css/resp_lg.css") }}' media="screen and (max-width: 1550px)"  rel='stylesheet' type='text/css'>
    <link href='{{ asset("design/css/resp_md.css") }}' media="screen and (max-width: 1350px)"  rel='stylesheet' type='text/css'>

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>

    {% javascripts
    'js/libs/*.js'
    'js/Evo/BeforeInit/*/*.js'
    %}
    <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}
</head>
<body>
    <nav class="navbar-top">
    </nav>
    <div data-knockout="messenger-block">
    <div id="messenger-attachment-container" class="container-messenger">
        <div data-bind="foreach: conversations">
            Ohoh
        </div>
    </div>
    <div id="messenger-dialog-container" class="container-messenger-bottom">
    </div>
</div>
    <div class="main">
    {% block body %}
    {% endblock %}
    </div>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.0/knockout-min.js"></script>

    {% javascripts
    'js/Evo/app.js'
    'js/Evo/*/*.js'
    %}
        <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}

    {{ include('AppBundle:Javascript:init.js.html.twig') }}

    {% javascripts
    'js/Evo/RequireInit/Utility/*.js'
    'js/Evo/RequireInit/Module/*/*.js'
    'js/Evo/RequireInit/Module/bootstrap.js'
    'js/Evo/RequireInit/Module/navigation.js'
    'js/Evo/RequireInit/Module/feed.js'
    %}
    <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}

    {% block javascripts %}
    {% endblock %}
</body>
</html>

我发现我正在将另一个VM绑定到一个不存在的DOM元素。看起来ko将其应用于整个文档

导致问题的代码在哪里?什么是
xxx
?请创建一个。很抱歉,我不知道如何以更好的方式表达这一点。我只是有一个普通的HTML页面,在它的底部,我包括了knockout和我的ViewModel。我们需要看一些代码。编辑您的问题以包含相关代码和确切的错误消息,否则任何人都无法帮助您<代码>xxx未定义可能会发生,原因有一百万个,我想肯定不止一百万个。我添加了更多的代码then@MikeC严格地说,它只能发生在一个原因上,即没有定义xxx时
function ConversationDialogViewModel(){
var self = this;

this.conversations = [1, 2, 3];
}
var $messegnerBlockKnockout = $('[data-knockout="messenger-block"]');
ko.cleanNode($messegnerBlockKnockout[0]);
ko.applyBindings(new ConversationDialogViewModel(),   $messegnerBlockKnockout[0]);
$messegnerBlockKnockout.show();