【问题标题】:Why can't I close my kendo window为什么我不能关闭我的剑道窗口
【发布时间】:2016-02-03 11:16:36
【问题描述】:

我的页面上有这个剑道窗口:

<kendo-button ng-click="modalEnquiryText.center().open();" value="Open" class="k-button">
    Enquiry Text
</kendo-button>

<div kendo-window="modalEnquiryText" k-width="1000" k-height="380" k-visible="false" k-title="'Enquiry Text Viewer'">

    <div class="col-md-12">

        <div class="k-content">
            <ul kendo-panel-bar k-options="panelBarOptions">
                <li class="k-state-active">
                    Current Sticky Notes
                    <div class="row">
                        <div class="col-md-12">
                            <textarea id="EnquiryTextEditor" kendo-editor k-ng-model="FormattedEnquiryText"></textarea>
                        </div>
                    </div>
                </li>
            </ul>
        </div>
    </div>
    <br />
    <div class="pull-right">
        <kendo-button ng-click="modalenquirytext.center().close(); bindHtml()" value="Close" class="k-button k-primary">
            Add Enquiry Text
        </kendo-button>

        <kendo-button  ng-click="closeModal(); modalEnquiryText.center().close()" value="Cancel" class="k-button">
            Discard and Close Window
        </kendo-button>
    </div>
</div>

我尝试使用 ng-click 和两个函数但不起作用,我尝试使用 jQuery 选择窗口 div 并使用以下代码关闭它:

$scope.bindHtml = function() {
                        $scope.enquiryText = strip($scope.FormattedEnquiryText);
                        //reset values on close
                        $("#EnquiryTextEditor").data("kendoEditor").value("");
                        commmonUtilities.addAlert('Enquiry Text Added', 'success');

                       $("#modalEnquiryText").data("kendoWindow").close();

                        //$("#modalEnquiryText").data("kendoWindow").close();
                    };

.close();是一个未定义的函数。

有人知道我需要改变什么吗?我正在使用带有剑道 ui 的 angularJs。

【问题讨论】:

  • 我做错了,因为窗口上没有 ID,而是使用剑道窗口名称。如果有人知道这样做的好角度方式,请告诉我。
  • 检查页面上的 HTML。 kendo-window="modalEnquiryText" 是否添加了 id?也尝试将 id="modalEnquiryText" 添加到您的 div。

标签: javascript angularjs kendo-ui


【解决方案1】:

在 Angular (kendo-window="modalEnquiryText") 中为 Kendo 小部件添加名称可以通过范围/控制器访问小部件对象 - 因此,在您的情况下,您可以在 ng-click 函数中使用 $scope.modalEnquiryText.close()。这些方面的东西可能会起作用:

$scope.bindHtml = function() {
  $scope.enquiryText = strip($scope.FormattedEnquiryText);
  $scope.FormattedEnquiryText = ""; // Don't use jQuery here either! Angular bindings are two-way.
  commmonUtilities.addAlert('Enquiry Text Added', 'success');
  $scope.modalEnquiryText.close();
};

【讨论】:

  • 感谢您的帮助,成功了。我在文档中找不到任何地方说如何以角度关闭窗口:(
  • 是的,我去过那里! Kendo 的 Angular 集成文档几乎不存在...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-31
  • 2021-12-13
  • 2020-05-12
相关资源
最近更新 更多