Javascript ValueUpdate可更改默认的viewModel值

Javascript ValueUpdate可更改默认的viewModel值,javascript,knockout.js,durandal,Javascript,Knockout.js,Durandal,视图模型: define(['knockout',], function (ko) { return { Host: ko.observable("http://www.example.com") }; }); 查看: <input type="text" data-bind="value: Host, valueUpdate: 'afterkeydown'" /> 你能再解释一下吗。这有点不清楚当我将输入中的值从www.example.com

视图模型:

define(['knockout',], function (ko) {
    return {
        Host: ko.observable("http://www.example.com")
    };
});
查看:

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

你能再解释一下吗。这有点不清楚当我将输入中的值从www.example.com更改为www.anotherexample.com时,需要将ViewModel值更新为www.anotherexample.com。目前,我的应用程序仍然使用www.example.com,无论我在输入框中输入了什么,您可以尝试
textInput
而不是
valueUpdate
+
value
。这是在KO3.2中引入的。理想情况下,它应该与您的代码一起工作。你能分享一把小提琴或者其他我们可以调试它的地方吗?+1代表JS小提琴的例子。在检查配置对象的主机值之前,它是否发生了其他事情?我认为您所描述的东西在默认情况下应该与数据绑定一起工作。例如:。更改输入,然后通过按钮询问可观察对象的值,会显示一个更新的字符串。@NickDeFazio您的JSFIDLE就在这里。我的输入有一个视图模型,它什么都不做,但我有一个servicepath.js文件来构建API。它获取config.host,这是当前的默认主机。我在上面加了这个。你能再解释一下吗。这有点不清楚当我将输入中的值从www.example.com更改为www.anotherexample.com时,需要将ViewModel值更新为www.anotherexample.com。目前,我的应用程序仍然使用www.example.com,无论我在输入框中输入了什么,您可以尝试
textInput
而不是
valueUpdate
+
value
。这是在KO3.2中引入的。理想情况下,它应该与您的代码一起工作。你能分享一把小提琴或者其他我们可以调试它的地方吗?+1代表JS小提琴的例子。在检查配置对象的主机值之前,它是否发生了其他事情?我认为您所描述的东西在默认情况下应该与数据绑定一起工作。例如:。更改输入,然后通过按钮询问可观察对象的值,会显示一个更新的字符串。@NickDeFazio您的JSFIDLE就在这里。我的输入有一个视图模型,它什么都不做,但我有一个servicepath.js文件来构建API。它获取config.host,这是当前的默认主机。我在上面加了这个。
 var servicesPath = config.companyPath;
 var webRoot = config.Host;
 var companyRoot = webRoot;

    function setCompanyHost(url) {
        webRoot = url;
    }

    function setCompanyHost(url) {
        companyRoot = url;
    }

    function setServicesPath(path) {
        servicesPath = path;
    }

    function getCompanySegment(companyName) {
        return new uri(companyRoot)
            .segment(servicesPath)
            .segment('companies')
            .segment(companyName);
    }