【问题标题】:Uncaught ReferenceError: Unable to process binding "text: function (){return username }"未捕获的 ReferenceError:无法处理绑定“文本:函数(){返回用户名}”
【发布时间】:2017-11-22 12:23:28
【问题描述】:

当我使用敲除组件时,出现绑定错误。 HTML:

<html >
<head>
<link rel="stylesheet" href="css/default.css">
</head>

<body>

    <main id="shell">

        <!-- logo & top level links -->
        <header>
            <header-widget></header-widget>
        </header>

    </main>

    <script type="text/javascript" src="thirdparty/requirejs/require-2.3.3.js" data-main='./js/requirejs.config'></script>
</body>

java脚本:

var requireConfig = {
    baseUrl: './',
    paths: {
        jquery: 'thirdparty/jquery/jquery-1.11.2',
        ko: 'thirdparty/knockout/knockout-3.4.2',
        text: 'thirdparty/requirejs/text'
    },
    shim: {

    }
};
require.config(requireConfig);
define(
    function(require) {
        require(['jquery', 'ko'], function($, ko) {
            var modle = {
            };
            $(document).ready(function() {
                ko.components.register('header-widget', {
                    viewmodel: function(params){
                        this.username = ko.observable('tom');
                    },
                    template: '<div data-bind="text:username">userxxx</div>'
                });
                ko.applyBindings(modle);

            });
        });
    }
);

我检查了名称,它们是正确的。我无法弄清楚绑定失败的原因。我查看了 stackoverflow.com,但找不到与此相同的问题。您能帮帮我吗?

【问题讨论】:

    标签: javascript knockout.js components


    【解决方案1】:

    我找到了原因。当我将参数传递给ko.components.register 时,视图模型参数名称不正确。 viewmodel: function(params){ 应该是 viewModel: function(params){

    【讨论】:

      【解决方案2】:

      当您使用自定义元素时,调用applyBindings 时无需提供模型。我想你需要做的就是:

      1. 去掉这段代码:

        var modle = {
        };
        
      2. 将您的 applyBindings 呼叫减少到:

        ko.applyBindings();
        

      这是因为组件的视图模型已在您的 ko.components.register 块中定义。

      【讨论】:

        猜你喜欢
        • 2020-05-06
        • 2022-01-15
        • 2014-09-18
        • 2017-04-19
        • 2016-09-27
        • 2013-08-03
        • 1970-01-01
        • 2014-12-01
        • 1970-01-01
        相关资源
        最近更新 更多