Knockoutjs的控制元素的显示与隐藏方法:visible

visible从单词的意思来看就是可见的,我们就可以很容易理解为visible是控制DOM元素的可见性,通过样式display:none来隐藏元素。 visible接受的参数为布尔值,非布尔值会自动转换成布尔值。下面介绍一下visible常见的使用场景:

第一种:直接将值放在元素上(这种使用方法没有任何意义)

<div data-bind="visible:false">小虾虎鱼</div>
ko.applyBindings({});
 
如果将上面的写法改进一下,如:
<div data-bind="visible:list().length>0">小虾虎鱼</div>
var viewmodel = {
        list:ko.observableArray()
};
ko.applyBindings(viewmodel);

如果数组list长度大于0则显示,否则不显示。这种使用方法在开发中还是很有用处的。

第二种:将值放在模型里面

<div data-bind="visible:visible">小虾虎鱼</div>
var viewmodel = {
        visible:ko.observable(false)
}
ko.applyBindings(viewmodel);

如果我们也将上面的方法改进一下,做成点击按钮控制其显示隐藏的效果:

<div><button data-bind="click:show">显示/隐藏</button></div>
<div data-bind="visible:false">小虾虎鱼</div>
var viewmodel = {
    visible:ko.observable(false),
    show:function(){
        this.visible(!this.visible());
    }
};
ko.applyBindings(viewmodel);

使用visible还可以做出tab效果,如:

<div>
    <button data-bind="click:show.bind($data,1)">按钮1</button>
    <button data-bind="click:show.bind($data,2)">按钮3</button>
    <button data-bind="click:show.bind($data,3)">按钮3</button>
</div>
<div data-bind="visible:visible()===1">内容1</div>
<div data-bind="visible:visible()===2">内容2</div>
<div data-bind="visible:visible()===3">内容3</div>

var vm = {
    visible:ko.observable(1),
    show:function(index){
        this.visible(index);
    }
};
ko.applyBindings(vm);

当然,visible能实现的效果不止这些,我们只需要理解:visible就是用来控制DOM元素的显示与隐藏。

 

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数组
, dom
, this
模型
,以便于您获取更多的相关知识。

时间: 2024-09-20 16:47:20

Knockoutjs的控制元素的显示与隐藏方法:visible的相关文章

Jquery设置attr的disabled属性控制某行显示或者隐藏_jquery

设置attr的disabled属性可以控制某行显示或者隐藏 //加载费用项目下拉框 function loadChargeItemsSelect(status){ $("#settlementDetailInfo").find("tr[trflag=trflag]").each( function(){ $(this).children().eq(2).html($("#chargeItemsDiv").html()); var eachChar

javascript在一个function里控制loading的显示与隐藏

问题描述 代码如下,不知为何无法执行出loading显示后又隐藏的效果.<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>javascript在一个function里控制loading的显示与隐藏</title><script type="text/javascrip

AngularJS实现DOM元素的显示与隐藏功能_AngularJS

本文实例讲述了AngularJS实现DOM元素的显示与隐藏功能.分享给大家供大家参考,具体如下: DOM元素的显示与隐藏 ,是前端开发中常常会用到的功能,AngularJS中是使用 ng-hide/ng-show 两个属性来实现的其实我们只要使用其中的一个属性即可实现所有功能他们的取值为 boolean. [HTML代码] <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <m

jQuery判断元素是否显示 是否隐藏的简单实现代码_jquery

jQuery判断元素是否显示 是否隐藏的简单实现代码 var node=$('#id'); 第一种写法 if(node.is(':hidden')){ //如果node是隐藏的则显示node元素,否则隐藏 node.show(); }else{ node.hide(); } 第二种写法 if(!node.is(':visible')){ //如果node是隐藏的则显示node元素,否则隐藏 node.show(); }else{ node.hide(); } if(node.is(':visib

JS控制HTML元素的显示和隐藏的两种方法_javascript技巧

利用来JS控制页面控件显示和隐藏有两种方法,两种方法分别利用HTML的style中的两个属性,两种方法的不同之处在于控件隐藏后是否还在页面上占空位. 方法一: document.getElementById("EleId").style.visibility="hidden"; document.getElementById("EleId").style.visibility="visible"; 利用上述方法实现隐藏后,页面

CSS控制文字的显示与隐藏引出的BUG

css|控制|显示 这一段CSS代码相当简单,目的就是想用CSS来控制某段文字的显示与隐藏.起初我采用了下面的代码,令人不可思议的是,它们在我的IE6.0上居然没有任何反应,大家不信可以亲自试验一下. <style type="text/css">a {font-size:12px;text-decoration:none;height:50;}a:hover {text-decoration:none;}a span {font-size:12px;display:non

控制软键盘显示和隐藏

 如何用Java代码控制Android软键盘的显示和隐藏呢? 过去我们在 EditText中显示隐藏Android输入法窗口 提到过,部分网友可能没有太注意.InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);imm.hideSoftInputFromWindow(myEdit.getWindowToken(), 0); //myEdit是你的EditText对象

控制-JS如何显示和隐藏一个表格中的所有表单输入框。

问题描述 JS如何显示和隐藏一个表格中的所有表单输入框. 现在是想要把表格的补货一栏去掉,在表格底部加一个按钮,点击以后 已补货的数字变成输入框.然后再次点击以后提交. 我想要的是一个按钮,控制所有"已补货"列,所有数字都变成输入框. 控制表格里面加了class是content的数据, 点击以后 <span class=content>0</span> 变输入框,其他列数据不要变. <tr> <td> </td> <td

jQuery的显示和隐藏方法与css隐藏的样式对比_jquery

display:none与visible:hidden的区别 display:none和visible:hidden都能把网页上某个元素隐藏起来,但两者有区别: display:none ---不为被隐藏的对象保留其物理空间,即该对象在页面上彻底消失,通俗来说就是看不见也摸不到. visible:hidden--- 使对象在网页上不可见,但该对象在网页上所占的空间没有改变,通俗来说就是看不见但摸得到. 例子: 复制代码 代码如下: <html> <head> <title&g