How to add a computed observable via prototype
by StrandedPirate
HTML
<script src="http://knockoutjs.com/js/knockout-2.0.0.js"></script>
<div data-bind="text: fullDomainName">test</div>
JavaScript
function SiteModel(rootUrl, data) {
var self = this;
self.rootUrl = rootUrl;
self.DomainName = ko.observable(data.DomainName);
self.IsSubDomain = ko.observable(data.IsSubDomain);
}
SiteModel.prototype.fullDomainName = ko.computed(function () {
if (self.IsSubDomain() && self.DomainName()) { // bombs out here with "self.IsSubDomain is not a function"
return self.DomainName() + ".myCompanyWebsite.com";
}
else {
return self.DomainName();
}
});
var temp = new SiteModel("someurl", { DomainName: "extraCool" });