javascript - Knockout.js:将元素添加到可观察数组

标签 javascript knockout.js

我在使用事件将元素加载到我的项目 Observable-Array 时遇到问题。

ViewModel = (function () {
    var 
        items = ko.observableArray([]),

        removeItems = function (element) {
            items.remove(element);
        },
        saveAll = function () {
            return ko.toJS(items);
        },
        addItem = function (element) {
            items.push(element);
            return false;  // no Page-Reload after button-klick
        };

    return {
        Items: items,
        // i call addItem with a dummy object (for testing)
        clickSave: addItem(new Customer(1, "Tfsd", "Tfsd"))
    };
})();

( fiddle )

为什么调用 addItem 函数,甚至没有单击按钮?是因为函数末尾的()吗?

    addItem = function (element) {
        items.push(element);
        return false;  // no Page-Reload after button-click
    };

我该怎么做才能只为事件做这个? 还是我的问题出在其他地方?

最佳答案

使用

return {
    Items: items,
    clickSave: addItem
};

关于javascript - Knockout.js:将元素添加到可观察数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10882389/

相关文章:

javascript - 如何从子元素中删除 data-target 和 data-toggle 或禁用元素触发事件?

javascript - 错误 : Object doesn't support property or method 'trimLeft'

javascript - 绑定(bind)海量数据时Knockout速度慢

javascript - Knockout.js 使用拦截器扩展值绑定(bind)

javascript - 在包含 dom 的弹出窗口中克隆页面

javascript - 单击选择标签中的选项并检查值时创建创建输入

javascript - js中关联数组排序

javascript - isNaN 对字母返回 false

javascript - 在 applyBindings 上敲击触发点击绑定(bind)

knockout.js - 脚本在底部?