目标
使用 KnockoutJS 从 DOM 元素中读取内容。
问题
我的 HTML 中有一个产品列表。代码是这样的:
<li>
    <div class="introduction">
        <h3>@Model["ProductName"]</h3>
    </div>
    <form data-bind="submit: addToSummary">
        <input type="number" 
               placeholder="How much @Model["ProductName"] do you want?" />
        <button>Add product</button>
    </form>
</li>
当我单击 时<button>Add Product</button>,我想向 KnockoutJS 发送<h3></h3>已提交元素内的文本。
使用 KnockoutJS 的文件是外部的并且独立于 HTML。它的名称是summary.js,代码如下:
function ProductReservation(id, name, unity, quantity) {
    var self = this;
    self.id = id;
    self.name = name;
    self.unity = unity;
    self.quantity = quantity;
}
function SummaryViewModel() {
    var self = this;
    self.products = ko.observableArray([
        new ProductReservation(1, "Testing", "kgs", 1)
    ]);
    self.addToSummary = function () {
        // Do Something
    }
}
我在想什么
HTML:
<li>
    <div class="introduction">
        <h3 data-bind="text: productName">@Model["ProductName"]</h3>
    </div>
    [...]
</li>
JS:
productName = ko.observable("text: productName");
但是,当然,没有成功——这不是正确的上下文或语法,只是为了说明。
所以我问:我需要做什么?