knockout.js 模态对话框未显示

cxfofazt  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(187)

在knockout.js项目中单击按钮时无法看到模态对话框
下面是我的提交按钮:

<button type="submit" class="btn" data-bind="enable: SubmitEnabled" style="margin-left:-10px;">Save Note</button>

如果启用并单击它,它将执行addNotes函数,并依次调用insertnote将注解插入数据库。我想添加一个确认模式对话框,但它不会显示当按钮被点击。我做错了什么?我错过了什么?

self.SubmitEnabled = ko.observable(false);

 self.SubmitEnabled(true);
 self.addNotes = function () {
    // display confirmation 
      var warnningMsg = "A existing note found. Do you want to continue?";
            $('#popUpModal').find('.modal-body').text(warnningMsg);
            $('#popUpModal').modal('show');     

    InsertNote(s) (
      // ajax call to insert note into the database
     )
      
}

下面是位于my _Layout.cshtml中的模型对话框的定义:

<div id="popUpModal" class="modal fade">
            <div class="modal-dialog">
                <div class="modal-content">
                    <div class="modal-header">
                        <button class="close" aria-hidden="true" type="button" data-dismiss="modal">&times;</button>
                        <h4 class="modal-title">Existing Note Found!</h4>
                    </div>
                    <div class="modal-body"></div>
                    <div class="modal-footer">
                        <button class="btn btn-secondary" type="button" data-dismiss="modal">Cancel</button>
                        <button class="btn btn-primary" type="button">Continue</button>
                       
                    </div>
                </div>
            </div>
        </div>
xam8gpfp

xam8gpfp1#

如果使用Knockout.js(KO),则不需要使用jQuery:)使用KO属性来操作对象的状态。

class AppViewModel{
  constructor() {
    // Make button enabled by default
    this.SubmitEnabled = ko.observable(true);
    // dialog is hidden
    this.ConfirmationVisible = ko.observable(false);
  }

  // make confirmation dialog visible on button click
  saveNoteClicked() {
    this.ConfirmationVisible(true);
  }
}

ko.applyBindings(new AppViewModel());

使用按钮显示确认对话框,使用click属性。

<button type="submit" data-bind="enable: SubmitEnabled, click: saveNoteClicked">Save Note</button>

确认对话框应显示属性visible

<div data-bind="visible: ConfirmationVisible" id="popUpModal" class="modal fade">Confirm</div>

相关问题