0

当我测试时, $root 抛出一个未捕获的引用错误。这些是涉及的文件,如果您需要更多信息,请告诉我。但老实说,我看不出我做错了什么。

我需要做些什么才能使 $root 对我可用?它仅适用于移动应用程序吗?

显示.js

VelocityMeetings.shows = function (params) {

    var errorMessage = ko.observable("");

    var viewModel = {
        errorMessage: errorMessage,
        errorVisible: ko.computed(function() {
            return errorMessage().length != 0;
        }),
        hideError: function () {
            errorMessage("");
        },
        resultsItemClick: function () {
            alert('ok')
        }
    };

    return viewModel;
};

显示.dxview

<div data-options="dxView : { name: 'shows', title: 'Trade Shows' } ">
    <div style="font-size: 11px;" class="shows-view" data-options="dxContent : { targetPlaceholder: 'content' } ">


        <br />
        <img src="images/logo.jpg" />

        <div style="color: red; margin: 5px; font-size: 12px;" data-bind="visible: errorVisible, text: errorMessage"></div>

        <br />
        <div style="font-size: 14px; color: rgb(98, 31, 137); font-weight: bold;">My Shows</div>
        <br />

        <div data-bind="dxList: { dataSource: Shows }">
            <div data-options="dxTemplate: { name: 'item' }, dxAction: $root.resultsItemClick" style=" style =" border: 1px solid lightgrey; padding: 15px; color black; width: 200px; margin: auto;">
                <img data-bind="attr:{ src:  image }" /><br />
                <b><span data-bind="text: date"></span></b><br />
                <b><span data-bind="text: location"></span></b>
            </div>
         </div>

    </div>
</div>
4

1 回答 1

1

我混合了数据选项和数据绑定属性。

<div data-options="dxTemplate: { name: 'item' }" data-bind="dxAction: $root.resultsItemClick" style =" border: 1px solid lightgrey; padding: 15px; color black; width: 200px; margin: auto;">

如果有人在挣扎,那就是模板行应该是什么。

于 2014-10-27T19:09:14.670 回答