Knockout.js 敲除中的可见属性不工作
我正在尝试使用visible属性进行敲除绑定。我有一个可观察的属性“DataContainer”,下面是js文件中的示例代码。由于在aspx中发生了多个ajax调用,因此我根据 条件页面在加载内容后按预期运行。然而,问题是在加载内容之前,我能够看到页面中的所有div标记。请让我知道任何帮助。 我不想在页面上显示所有的div标签Knockout.js 敲除中的可见属性不工作,knockout.js,Knockout.js,我正在尝试使用visible属性进行敲除绑定。我有一个可观察的属性“DataContainer”,下面是js文件中的示例代码。由于在aspx中发生了多个ajax调用,因此我根据 条件页面在加载内容后按预期运行。然而,问题是在加载内容之前,我能够看到页面中的所有div标记。请让我知道任何帮助。 我不想在页面上显示所有的div标签 function A() { self.DataContainer = false; .. .. //ajax calls .. ..
function A()
{
self.DataContainer = false;
..
..
//ajax calls
..
..
//ajax calls
..
..
..
//ajax calls
..
..
//ajax calls
..
self.DataContainer = true;
}
Sample.aspx
<div id=container data-Bind="visible :DataContainer>
...
...
<div data-bind="If : conditon1>
</div>
...
<div data-bind="If : conditon2>
</div>
..
..
..
<div data-bind="If : conditon3>
</div>
..
..
<div data-bind="If : conditon4>
</div>
</div>
函数A()
{
self.DataContainer=false;
..
..
//ajax调用
..
..
//ajax调用
..
..
..
//ajax调用
..
..
//ajax调用
..
self.DataContainer=true;
}
Sample.aspx
...
..
..
Hej man,数据绑定中的语句是用小写写的,您忘记了关闭引号。因此,它应该是这样的:data bind=“if:conditon4”,与可视绑定相同。另外,我看到您有ajax调用。Ajax调用是异步的,这意味着您的“self.DataContainer=true;”可能会在进行Ajax调用之前触发。我建议您使用ajax promise.done,或者在上一个ajax方法的success函数中设置将DataContainer设置为true的代码。“我有一个可观察属性DataContainer
”,如果这个属性是真正可观察的,您不能使用self.DataContainer=true
来设置它。您必须使用它的新值调用它:self.DataContainer(true)
。我使用“async:false”进行ajax调用。但是仍然有大量数据可用,并且仍然显示div标记。可能重复