很久很久没写博客了,丫的,节操掉一地了,颓废了,惭愧。

  很久很久没有弄 knouckout.js 了,今天重新操作,蛋疼啊,忘记得差不多了,于是只好硬着头皮再去看官网,于是,feel慢慢回来了。

  本来不打算用 knouckout 的了,但是人都是懒惰的,况且我一直信奉,不懂偷懒的程序员不是好的程序员!

  如果不偷懒,就写一大堆的js,以后维护也是很痛苦的。。。

  这里不讨论基本语法什么的,官网上一堆堆的,亲们自己去找吧~ 官网

  另外,想打算开个一系列的 knouckout,好好总结自己的所学,解放众多的那些做后端又要做前端的 程序猿,谁要看,给我32个赞,就开始写。开玩笑了,没有拉广告的嫌疑,等项目告一段落了就开始着手写了,不过也已经有人写了,我希望写点不同的。

这里是汤姆大叔的:猛搓我

  看效果图:

1.前端代码:

 <div class="modal-body" data-bind="foreach: job">
<div> <div class="panel-group" id="accordion">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-toggle="collapse"
data-bind="text:title" data-parent="#accordion"
href="#collapseOne"> </a>
</h4>
</div>
<div id="collapseOne" class="panel-collapse collapse in">
<div class="panel-body" data-bind="html:content"></div>
</div>
</div>
</div>
</div> </div>

2.js

var viewModel = {
job: ko.observableArray([ ])
};
ko.applyBindings(viewModel);

  

3.ajax里传值回来后处理:

viewModel.job(j);

  OK,以上代码搞定了!本来要很多js代码写的循环,现在在 knockout 的帮助下,一切都变得美好了!

犯过的错误:

1.不能重复绑定同一个元素,因为每次ajax后都会重新执行代码,代码如下(是该错误的代码):

ko.applyBindings({
job : j,//这里的j是我的ajax 返回的 json数组
});

2.基于以上错误,想到了清除绑定,但是结果就是,每次ajax请求,数据都会翻倍,比如说:我原先只有3条记录的,但是ajax后就变成6条记录了,显然不是我想要的,代码如下:

ko.cleanNode(document.body);
ko.applyBindings({
job : j,
});

解决方案在一开始的时候就已经有了,以此谨记,另外,最近得恶补 English 了,发现看 English 少了以前的感觉了。

欢迎拍砖,转载请标明出处!

有问题可以请教,本人QQ:651936145,请说明备注:knockout 探讨。

  

knockout --- foreach -- 前端必备的更多相关文章

  1. 前端必备:FastStoneCapture 和 Licecap

    前端必备:FastStoneCapture 和 Licecap FastStoneCapture这个软件非常小,只有2M多,并且其功能很强大,包括截图,录制视频,量尺,取色等等,对于前端工程师绝对是必 ...

  2. webpack入门--前端必备

    webpack入门--前端必备 什么是 webpack? webpack是一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX).coffee.样式(含less/sass).图片等都作为模块来 ...

  3. Sublime编辑器 前端 必备插件

    sublime编辑器前端必备插件 下面这一行是Package Control包安装,它是sublime的插件包管理器.新安装的sublime 里没有Package Control,按一下ctrl+~, ...

  4. 前端必备之Node+mysql+ejs模版如何写接口

    前端必备之Node+mysql+ejs模版如何写接口 这星期公司要做一个视频的后台管理系统, 让我用Node+mysql+ejs配合写接口, 周末在家研究了一下, 趁还没来具体需求把研究内容在这里分享 ...

  5. Charles——前端必备模拟后端数据

    Charles--前端必备模拟后端数据 现在都是前后端分离开发了,前端开发者经常会遇到一个问题如何模拟后端数据来进行开发调试,在这里给大家介绍一个前端神器--Charles. 安装 安装就不赘述了,直 ...

  6. 前端必备HTTP技能之HTTP请求头响应头中常用字段详解(转)

    作为一名前端开发人员,肯定少不了要和网络打交道,因为要从服务器端拉取数据,从服务端获取数据最常用的方式还是通过HTTP请求.给服务器发请求的时候有请求头,接受服务器响应的时候有响应头,客户端和服务器端 ...

  7. VSCode 前端必备插件

    VSCode 前端必备插件 Debugger for Chrome 让 vscode 映射 chrome 的 debug功能,静态页面都可以用 vscode 来打断点调试 { "versio ...

  8. Web 前端必备的各种跨域方式汇总

    Web 前端必备的各种跨域方式汇总 跨域方式汇总 同源策略 协议相同 + 域名相同 + 端口相同 https://www.xgqfrms.xyz/index.html https://www.xgqf ...

  9. 前端必备PS技巧

    hai,how is it going?I'm MuQing.I come back.哈哈,最近在英语的路上奋战,小秀一下.又好久没写博客了,实习的生活渐行渐远了,回到学校也终于能够坐下来对很多东西进 ...

随机推荐

  1. Python list 常用操作

    测试版本: python 2.7 获取第一个.最后一个元素 list1 = ["a", "b", "c"] len1 = len(list1 ...

  2. 两个示例介绍JavaScript的闭包

    JavaScript的闭包有两个用途:一个是访问函数内部的变量:另一个是让变量的值在作用域内保持不变.函数是JavaScript 中唯一有作用域的对象,因此JavaScript的闭包依赖于函数实现,下 ...

  3. jQuery 如何创建基本插件(翻译)

    有时候,你希望有一块功能在整个代码当中都可以使用.例如,你可能想要有一个单一的方法可以在jQuery选择器上进行调用,用于处理该选择器上的一系列操作.又或许你编写了一个十分有用的工具函数,并希望能够简 ...

  4. C# Trim方法去除字符串两端的指定字符

    var str= ",2,3,4,6,7,"; var str2 = str.Trim(new char[] { ',' }); //去除字符串str两端的','字符. //则st ...

  5. linux修改环境变量

    /etc/profile 系统全局环境变量设定,所有用户共享,修改后,需要重启系统才能生效 ~/.bash_profile,~/.bashrc 用户目录下的私有环境变量设定,常用来个性化定制功能,修改 ...

  6. Java高精度学习第一弹

    为了快速解决高精度问题,总算是要来接触java了,算上这学期要开java的课了,好好学习吧! 拿来练手的是hdu的1002,高精度加法. import java.util.*; import java ...

  7. 移动app测试浅析

    移动App测试浅析 1. 移动App测试的现状及其挑战 移动互联网走到今天,App寡头化的趋势已经越来越明显,同时用户的口味越来越高,这对移动App开发者提出了更高的要求.几年前可能你有一个创意,随便 ...

  8. modelsim遇到的问题(更新)

    1.Q:在`timescale处提示错误:** Error: C:\count4\count_tp.v(1): near "'t": Illegal base specifier ...

  9. Solr4.8.0源码分析(3)之index的线程池管理

    Solr4.8.0源码分析(3)之index的线程池管理 Solr建索引时候是有最大的线程数限制的,它由solrconfig.xml的<maxIndexingThreads>8</m ...

  10. 转:php页面静态化之真静态

    之前的缓存和现在所说的页面静态化都是为网站提速的,如果是访问量小的小型网站可能不需要但是如果网站规模或访问量很大,那么页面静态化和缓存就会体现出各自的价值了下面先来了解下页面静态化的分类 页面静态化的 ...