Javascript 如何在运行时在knockoutjs对象中添加新的计算属性?

Javascript 如何在运行时在knockoutjs对象中添加新的计算属性?,javascript,asp.net-mvc,knockout.js,knockout-2.0,sproutcore-2,Javascript,Asp.net Mvc,Knockout.js,Knockout 2.0,Sproutcore 2,我在淘汰赛js中有如下程序 <input type="text" data-bind="value:firstName" /> <input type="text" data-bind="value:lastName" /> <p data-bind="text:fullName"></p> <script type="text/javascript" language="javascript"> // Here

我在淘汰赛js中有如下程序

<input type="text" data-bind="value:firstName" />
<input type="text" data-bind="value:lastName" />
<p data-bind="text:fullName"></p>
    <script type="text/javascript" language="javascript">
        // Here's my data model
        var Person = function (id, first, last) {
            this.id = ko.observable(id);
            this.firstName = ko.observable(first);
            this.lastName = ko.observable(last);


        };

        Person.prototype.fullName = ko.computed(function () {
            return this.firstName() + " " + this.lastName();
        }, Person);


        ko.applyBindings(new Person(1, "kapil", "Garg"));
    </script>

//这是我的数据模型 var Person=功能(id、第一个、最后一个){ this.id=ko.可观察(id); this.firstName=ko.observable(first); this.lastName=ko.observable(last); }; Person.prototype.fullName=ko.computed(函数(){ 返回此.firstName()+“”+此.lastName(); },人); ko.应用绑定(新的人(1,“kapil”,“Garg”));

我得到一个错误,这个.firstName()不是一个函数。我如何才能添加这样的新计算机属性?

您在实例化ViewModel时遗漏了“new”关键字

您在实例化ViewModel时遗漏了“new”关键字

使用

 <input type="text" data-bind="value:firstName()" />


  <input type="text" data-bind="value:lastName()" />

你错过了妄想症,这就是击倒者抱怨的原因。

使用

 <input type="text" data-bind="value:firstName()" />


  <input type="text" data-bind="value:lastName()" />


你错过了妄想症,这就是为什么淘汰赛在抱怨。

接得好。似乎也错过了一次收盘

。很好。似乎也错过了一次收盘