• KnockoutJS:


    一、ko对象 js对象的改变都会导致viewmodel的变化,但view不一定变化

    • 往ko对象里面push,viewmodel的变化,引起view的变化。
    • 往js对象里面push,model的变化引起viewmodel的变化,不能引起view的变化
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    	</head>
    	<body>
    		<ul data-bind="foreach:arr">
    			<li data-bind="text:$data.chineseName"></li>
    		</ul>
    		<button data-bind="click:addOnePlanet">添加</button>
    		
    		<script type="text/javascript" src="knockout.js"></script>
    		<script type="text/javascript">
    		var  Planets = [
    					{id:1,englishName:"Mercury",chineseName:"水星",description:"离太阳最近的一颗行星"},
    					{id:2,englishName:"Venus",chineseName:"金星",description:"拥有非常厚的大气层的一颗行星"},
    					{id:3,englishName:"Earth",chineseName:"地球",description:"我们的家园"}
    				];
    		var vm=function(){
    			var self=this;
    			self.arr=ko.observableArray(Planets);
    			self.addOnePlanet=function(){
    				//记得:往ko对象里面push  model的变化-->viewmodel的变化
    				self.arr.push({id:4,englishName:"Mars",chineseName:"火星",description:"一颗红色的星球"})
    
    				//往js对象里面push  model的变化不能引起viewmodel的变化
    				//Planets.push({id:4,englishName:"Mars",chineseName:"火星",description:"一颗红色的星球"})
    
    				console.log(self.arr().length);//不论哪个都会self.arr().length都会增加
    			}
    		}
    		ko.applyBindings(new vm());
    		</script>
    	</body>
    </html>
    
  • 相关阅读:
    群晖下 gitea+drone+harbor实现CI/CD 发布到云服务器
    随便写写
    知行合一
    GO/testing包
    进程切换时是如何保存上下文的
    语言
    printf缓冲区踩坑
    Spring 中 @EnableXXX 注解的套路
    分享一个工业现场常用的运动控制案例
    数据库之App.config配置文件错误
  • 原文地址:https://www.cnblogs.com/leee/p/5671109.html
Copyright © 2020-2023  润新知