Durandal动态添加按钮和点击事件

时间:2017-10-09 09:34:03

标签: knockout.js durandal

我使用knockout实施了Durandal个应用程序。现在,在Add按钮的单击事件中,我想动态添加anchor标记,通过单击它,应该调用一个函数。

在下面的代码中,我有一个deleteRowRenderer函数,当按添加按钮(在我的view.html中可用)时调用该函数,并在我的HTML上成功呈现Delete锚点。

现在,当我按下删除按钮时,它会显示以下错误消息:

  

未定义RemoveRecord

我尝试了以下代码:

    define([
        "jquery",
        "underscore",
        "knockout"
    ], function (
        $, _, ko) {

        "use strict";

        function MyViewModel() {
            var self = this;

            this.RemoveRecord = function (index) {
                alert('Remove at ' + index);
            }

            this.DeleteRowRenderer = function (params) {
                var html = '<a title="Remove" href="javascript:" class="align-center btn-link btn-sm" onclick="RemoveRecord(' + params + ')">Delete</a>';
                return html;
            }

           this.addRow = function(){
             $('#myId').append(self.DeleteRowRenderer(1));
           }


        }

        $.extend(AgGridViewModel.prototype, {
            activate: function (settings) {
                // Code To BIND DATA With View
            },
            canactivate: function () {
            },
            binding: function () {
            },
            attached: function () {
            }
        });

        return MyViewModel;

    });

HTML

<button data-bind="click: addRow"></button>
<div id="myId"></div>

0 个答案:

没有答案