Sammy路线基于精选元素和淘汰赛

时间:2014-07-29 14:02:04

标签: javascript knockout.js sammy.js

<select class="form-control" data-bind="enable: addressBookEntries(), options : addressBookEntries,
               optionsText: 'address',
               value: selectedAddressBook,
               optionsCaption: 'Select address'"></select>

和萨米的路线一样:

Sammy(function () {
    this.get('#addressBook/:id', function () {
        ...
    });
});

有没有办法让用户在下拉列表中更改选项时更新浏览器位置并执行sammy路径?

我知道我可以做一个计算,但我正在寻找一些方法来实际填充observable的id。它清楚了吗?

1 个答案:

答案 0 :(得分:1)

基本上,当可观察的更改并让Sammy响应路由时,您需要更新哈希路由。

将以下内容添加到您的viewmodel:

selectedAddressBook.subscribe(function(newValue){
   // validate newValue
   // update the hash with the newValue
   window.location.hash = "#addressBook/" + newValue;
});