Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.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 如何通过敲除设置visible=false_Javascript_Html_Dom_Knockout.js - Fatal编程技术网

Javascript 如何通过敲除设置visible=false

Javascript 如何通过敲除设置visible=false,javascript,html,dom,knockout.js,Javascript,Html,Dom,Knockout.js,我已经发布了更详细的问题,这是非常明确和直截了当的 您好,我正在尝试使用knockout将list元素的值设置为false 这是我的HTML <li> <a onclick="log(this)" data-bind="visible: true, text: $data"></a> </li> 不要将可视绑定设置为true,将其设置为在viewModel中定义的变量。您还可以通过foreach绑定访问可

我已经发布了更详细的问题,这是非常明确和直截了当的

您好,我正在尝试使用knockout将list元素的值设置为false 这是我的HTML

   <li>
     <a onclick="log(this)" data-bind="visible: true, text: $data"></a>
            </li>

不要将可视绑定设置为true,将其设置为在viewModel中定义的变量。您还可以通过foreach绑定访问可观察数组的各个元素。最后,如果要使用$data,可以直接使用“.”运算符访问单个数组对象的属性。我在文章末尾引用的文档有更多信息。见下文:

<div data-bind="foreach: shouldShowMessageArray">
    <div data-bind="visible: $data.shouldShowMessage">
        Message goes here.
    </div>
</div>


<script type="text/javascript">
var myViewModel;
$(document).ready(function(){
    myViewModel = new viewModel();
    function viewModel() {
        this.shouldShowMessage = ko.observable(false) // Message initially visible
        this.shouldShowMessageArray = ko.observableArray([
            {shouldShowMessage: ko.observable(true)},
            {shouldShowMessage: ko.observable(false)}
        ]);
    }
    ko.applyBindings(myViewModel);
});
</script>

信息就在这里。
var模型;
$(文档).ready(函数(){
myViewModel=新的viewModel();
函数viewModel(){
this.shouldShowMessage=ko.observable(false)//消息最初可见
this.shouldShowMessageArray=ko.observableArray([
{shouldShowMessage:ko.observable(true)},
{shouldShowMessage:ko.observable(false)}
]);
}
应用绑定(myViewModel);
});

绑定到属性,而不是直接绑定到
true
。如果它不是数组,这将起作用,它是数组,那么您将如何隐藏数组的元素?为了更清楚地说明,我使用$data获取数据,明白了。更新了我的答案。基本上,您可以直接从$data访问属性。如果我将元素推送到数组中,您会怎么做?我该如何给每个元素属性一个默认的真实可见的可观察的属性呢?多谢你有时间看这个
<div data-bind="foreach: shouldShowMessageArray">
    <div data-bind="visible: $data.shouldShowMessage">
        Message goes here.
    </div>
</div>


<script type="text/javascript">
var myViewModel;
$(document).ready(function(){
    myViewModel = new viewModel();
    function viewModel() {
        this.shouldShowMessage = ko.observable(false) // Message initially visible
        this.shouldShowMessageArray = ko.observableArray([
            {shouldShowMessage: ko.observable(true)},
            {shouldShowMessage: ko.observable(false)}
        ]);
    }
    ko.applyBindings(myViewModel);
});
</script>