gpt4 book ai didi

javascript - 将值传递给对象内的 KO 计算可观察对象

转载 作者:行者123 更新时间:2023-11-29 22:07:30 25 4
gpt4 key购买 nike

尝试使用 javascript 将值公开给对象内对象内的 KO 计算可观察对象。我目前在页面上收到“undefined undefined”...

    function Employee () {            

var self = this;

self.identity = ko.observable({
employeeTitle: ko.observable(""),
titles: ko.observableArray(['Mr','Mrs','Ms']),
givenName: ko.observable(""),
lastName: ko.observable(""),
otherNames: ko.observable(""),

fullName: ko.computed(function(givenName,lastName){
return givenName + " " + lastName;
})

});

//rest of object
)};

已经尝试了各种选择并且越来越接近 - 请问有什么想法吗?

function(givenName(), lastName()) { ... }

...产生“意外的标记(”

最佳答案

请看下面的jsFiddle:http://jsfiddle.net/JD7fL/ .

ko.computed 的函数参数不需要将 givenNamefirstName 作为参数。您可以简单地引用要在计算函数中使用的字段。但是,因为您在对象中有 fullName 而不是构造函数,所以您无法引用这些字段。我将 self.identity 拆分为一个新的 Identity 构造函数。

意外的 token 错误是由于 Employee 末尾的恶意关闭括号造成的。

JavaScript

function Employee () {            
var self = this;

self.identity = ko.observable(new Identity());
};

function Identity() {
var self = this;

self.employeeTitle = ko.observable("");
self.titles = ko.observableArray(['Mr','Mrs','Ms']);
self.givenName = ko.observable("John");
self.lastName = ko.observable("Doe");
self.otherNames = ko.observable("");

self.fullName = ko.computed(function(){
return self.givenName() + " " + self.lastName();
});
}

ko.applyBindings(new Employee());

HTML

<div data-bind="with: identity">
<div data-bind="text: fullName"></div>
</div>

关于javascript - 将值传递给对象内的 KO 计算可观察对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20085493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com