Calculating top position of elements based on their heights
If you sort your elements ascending by order, you can get rid of the nested loop and just keep a running sum as you loop through:

start: function () {
    // sort ascending by order
    this.data.sort(function (a, b) {
        if (b.order &lt; a.order) {
            return 1;
        }
    });
    var len = this.data.length;
    var i = 0;
    var sum = 0;
    while (i &lt; len) {
        var item = this.data[i];

        // the top of this element is the sum of all previous element's heights
        item.top = sum;

        // don't reset sum here, just keep adding to it
        sum += item.height;
        i++;
    }
    console.log('after', this.data);
}


I have also removed the re-sorting at the end of the function as it is no longer needed due to the initial sort being ascending.