使用 Knockout/Bootstrap 获取 observableArray 中两个值的值

Get Value of two values in observableArray using Knockout/Bootstrap

我想知道如何从 observableArray 中取出两个值并将它们相除以获得百分比值。我正在尝试将 defectsCompleted/defectsTotal 除以 return 一个百分比值。

这是我拥有的,但它不起作用。有人可以帮忙吗?

function userProfileVM() {
var self = this;

self.userprofile = ko.observableArray([
    { name: 'Bert Bertington', minutesComplete: '284', minutesTotal: '480', defectsCompleted: '254', defectTotal: '546' },
    { name: 'Charles Charlesforth', minutesComplete: '298', minutesTotal: '480', defectsCompleted: '236', defectTotal: '677' },
    { name: 'Denise Dentiste', minutesComplete: '242', minutesTotal: '480', defectsCompleted: '542', defectTotal: '854' }

    //Having issues with this part
self.progressWidth = ko.computed(function(){
    return self.userprofile.defectsCompleted() / self.userprofile.defectTotal() + '%';
}, self);

}

ko.applyBindings(new userProfileVM());

http://jsfiddle.net/mujaji/Lxec4quj/13/

你得再引入一个viewModel

function UserProfile(name, minutesComplete, minutesTotal, defectsCompleted, defectTotal) {
    this.name = name;
    this.minutesComplete = minutesComplete;
    this.minutesTotal = minutesTotal;
    this.defectsCompleted = defectsCompleted;
    this.defectTotal = defectTotal;

    this.progressWidth = ko.computed(function(){
        return this.defectsCompleted / this.defectTotal + '%';
    }, this);
}


function MainViewModel() {
    this.userprofiles = ko.observableArray([
        new UserProfile('Bert Bertington', 284, 480, 254, 546),
        new UserProfile('Charles Charlesforth', 298, 480, 236, 677),
        new UserProfile('Denise Dentiste', 242, 480, 542, 854)
        ]);
}

ko.applyBindings(new MainViewModel());