【问题标题】:durandal starter kit search feature and IEdurandal 入门套件搜索功能和 IE
【发布时间】:2013-06-28 02:32:45
【问题描述】:

我已使用 durandal 入门套件并尝试使用搜索框。 在 shell.html 中,我将输入框更改为对 searchTerm 进行数据绑定:

 <form class="navbar-search pull-right" data-bind="submit:search">
 <input type="text" class="search-query" placeholder="Search" data-bind="value:searchTerm">
 </form>

然后在 shell.js 中,我使用以下代码添加了可观察的 searchTerm:

define(function(require) {
    var router = require('durandal/plugins/router'),
    app = require('durandal/app');   

var searchTerm = ko.observable();
return {
    searchTerm: searchTerm,
    router: router,
    search: function() {

        app.showMessage('Search for ' + searchTerm() + ' not yet implemented');

    },
    activate: function () {
        return router.activate('welcome');
    }
 };
});

此代码适用于除 IE(9 和 10)之外的所有浏览器(嗯,Chrome、Firefox、Safari)。问题是对于 IE,searchTerm() 总是未定义的。我在我的生产应用程序中遇到了同样的问题,但能够用这个简单的案例重现它。我在这里错过了什么?

【问题讨论】:

    标签: knockout.js durandal


    【解决方案1】:
    <form class="navbar-search pull-right" data-bind="submit:search">
     <input type="text" class="search-query" placeholder="Search" data-bind="value:searchTerm, valueUpdate: 'afterkeydown'" />
     </form>
    

    您的输入框需要以 /> 结尾才有效。此外,将 valueUpdate 添加到您的数据绑定中,以便在您提交表单之前记录更改。

    http://jsfiddle.net/gnKth/1/

    【讨论】:

    • 如果您删除提交按钮,小提琴也会出现同样的问题。通过在文本输入上按回车键,表单被提交,但不会发生敲除绑定。github.com/knockout/knockout/issues/760
    • ?我把 /> 放在最后,jsfiddle.net/gnKth/2 我删除了按钮并添加了 /> 并按回车,它显然会为我更新?如果没有别的更新按键上的值,就像这个小提琴jsfiddle.net/gnKth/3
    • 如果您在文本框中更改“hey2”的值,提交时它不会在 IE 中更新。
    • 看起来我们正在同时处理这个问题。第三小提琴给出了答案。感谢您的帮助。
    【解决方案2】:

    显然这是 IE 的一个已知问题。 https://github.com/knockout/knockout/issues/760 这是桑德森本人的小提琴。

    http://jsfiddle.net/5StjB/1/

    解决方法是告诉敲除在每次按下键后绑定值:

    <input type="text" name="searchValue" data-bind="value: searchValue, valueUpdate: 'afterkeydown'"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-21
      • 2018-07-30
      • 1970-01-01
      相关资源
      最近更新 更多