In
1.3 beta this is really easy. 1.3 exposes the variables $data, $parent, $parents, and $root. $parent would give you one scope level up, so you can call $parent.deleteRow.
Prior to 1.3, I would typically use the
templateOptions functionality to pass the method down into the child template. In general it would look like:
<div data-bind="template: { name: 'rowTmpl', foreach: rows, templateOptions: { delete: deleteRow } }"></div>
then inside of 'rowTmpl', you would access the method using $item.delete
In this case, you will want to take care that "this" is what you expect when deleteRow is called. There are several ways to do this, but an easy one is to bind it to the current this in your constructor:
this.deleteRow = function(item) { this.rows.remove(item); }.bind(this);