Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建和使用全局绑定_Javascript_Knockout.js - Fatal编程技术网

Javascript 创建和使用全局绑定

Javascript 创建和使用全局绑定,javascript,knockout.js,Javascript,Knockout.js,如何在knockout中创建全局绑定 我希望能够做到以下几点: <div class="col-lg-6" data-bind="visible: IsPayingUser"> <!-- the server will not send any data for freemium, so hide the element unless it's a paying customer --> </div> 也就是说,我不想在每个视

如何在knockout中创建全局绑定

我希望能够做到以下几点:

<div class="col-lg-6" data-bind="visible: IsPayingUser">
    <!-- the server will not send any data for freemium, 
         so hide the element unless it's a paying customer -->
</div>


也就是说,我不想在每个视图模型中将
IsPayingUser
创建为一个属性,而是只定义一次。

您可以指示Knockout使用
窗口
关键字显式“转义”视图模型范围:

<div class="col-lg-6" data-bind="visible: window.UserData.IsPayingUser">

值得注意的是,实现这一点的“绝招”是使用嵌套视图模型,并尽量避免对全局范围的污染。

+1,回答得好。此外,对于“嵌套视图模型案例”,还有一种查找“全局”剔除范围的方法,即
$root
。请参阅:。
window.UserData = { IsPayingUser = ko.observable(false) };