Javascript KnockoutJS:访问自定义组件外部的可观察变量

Javascript KnockoutJS:访问自定义组件外部的可观察变量,javascript,knockout.js,knockout-2.0,Javascript,Knockout.js,Knockout 2.0,我已经搜索了很多,但不知道如何处理我的问题。 我创建了一个自定义组件,模板位于标记中。在这个模板之外,我有一个变量,在做了一些事情之后,我试图对它进行操作。这不起作用,它没有定义。有没有可能操纵这个可观察的东西 我的代码如下所示: HTML: 非常感谢 Matthias问题在于,您根本没有应用于文档的视图模型,您只有一个组件视图模型 试试这个: var vm = { foobar: ko.observable('') }; ko.applyBindings(vm); 在组件视图模型中: ko.

我已经搜索了很多,但不知道如何处理我的问题。 我创建了一个自定义组件,模板位于
标记中。在这个模板之外,我有一个变量,在做了一些事情之后,我试图对它进行操作。这不起作用,它没有定义。有没有可能操纵这个可观察的东西

我的代码如下所示:

HTML:

非常感谢


Matthias

问题在于,您根本没有应用于文档的视图模型,您只有一个组件视图模型

试试这个:

var vm = { foobar: ko.observable('') };
ko.applyBindings(vm);
在组件视图模型中:

ko.dataFor(document.body).foobar('Foo! Bar!');

请参见

是否可以显示未定义变量的位置?但是
foobar
不在组件中。你期望发生什么?它说:ReferenceError:foobar没有定义。编辑了代码。我想更改组件内部的文本,正如我所说的,您不能从组件外部轻松访问组件中的内容。您尝试的事实表明应用程序中存在设计问题。也许最好解释一下您实际想要实现的目标,并设置一个JSFIDLE来概括这个问题。
var vm = { foobar: ko.observable('') };
ko.applyBindings(vm);
ko.dataFor(document.body).foobar('Foo! Bar!');