为什么我不能关闭剑道窗口

Why can't I close my kendo window

本文关键字:窗口 不能 为什么      更新时间:2023-09-26

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

<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。

在 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();
};