0

我正在用 JS 编写一个小型应用程序,我决定使用 Knockout。除了没有正确打印的单个值之外,一切都运行良好,我不明白为什么。

这是附加错误的 html 视图(viaggio.arrivo 未可视化,并且代替正确值出现了类似“ function c(){if(0 <arguments.length){if ...”等的函数代码)

<input data-bind="value: viaggio.arrivo"  />

这就是 javascript 视图模型。代码很长,所以我把它放在一个jsFiddle中。

     function ViewModel() {
        function Viaggiatore(nome, cognome, eta, citta) {
            var self = this;
            self.nome = nome; self.cognome = cognome;
            self.eta = ko.observable(eta);
            self.citta = ko.observable(citta);
        }
        function Viaggio(viaggiatore, partenza, arrivo, mete) {
            var self = this;
            self.viaggiatore = ko.computed(viaggiatore);
            self.partenza = ko.computed(partenza);
            self.arrivo = ko.observable(arrivo);
            self.mete = ko.computed(mete);
        }

        self.viaggiatore = new Viaggiatore("Mario", "Rossi", 35, "Como");
        self.viaggio = new Viaggio(
            function(){ return self.viaggiatore.nome+" "+self.viaggiatore.cognome; },
            function(){ return self.viaggiatore.citta; },
            "Roma",
            function(){ return "mete" ;}
        );          
    }
    ko.applyBindings(new ViewModel());
4

1 回答 1

1

我认为您的参数之一需要括号,如下所示:

<p data-bind="text: viaggio.partenza()"></p>

查看更新的小提琴:http: //jsfiddle.net/mGDwy/2/

于 2012-08-20T18:09:34.720 回答