选择题活动小结

 choose:function(type){
                    var sub=commentHtml.commentVue.$data.view.sub;
                    var page = commentHtml.commentVue.$data.view.page;
                    switch(type){
                        case 0:
                            commentHtml.commentVue.$data.view.collected = 0;
                            commentHtml.commentVue.$data.view.sub = sub+s[page+1][0];
                            break;
                        case 1:
                            commentHtml.commentVue.$data.view.collected = 1;
                            commentHtml.commentVue.$data.view.sub = sub+s[page+1][1];
                            break;
                        case 2:
                            commentHtml.commentVue.$data.view.collected = 2;
                            commentHtml.commentVue.$data.view.sub = sub+s[page+1][2];
                            break;
                    };

用vue写的时候,开始觉得这里每一个case里面都需要加个commentHtml.commentVue.$data.view.sub,太长了,于是想在前面先定义一个var sub=commentHtml.commentVue.$data.view.sub;然后把后面的commentHtml.commentVue.$data.view.sub都用sub代替了,可是替换以后发现sub的值不会改变了,原来是js基本数据类型和引用类型的参数传递问题,初始的时候给sub赋了一个数值,它是一个基本数据类型,基本数据类型有自己独立的内存地址,改变sub的值的时候不会改变commentHtml.commentVue.$data.view.sub的值,前者只是想当于后者的副本,两者只是值相同,但并没有什么联系,而我们这里最终想要改变的是commentHtml.commentVue.$data.view.sub的值。引用和赋值的区别虽早已看过可是当实际用的时候却不知道,可见当时的了解也只是了解而已,没有掌握就并卵用,基础不扎实。

v-with这个指令指令需要结合v-component才能使用,作用是让子ViewModel可以继承父ViewModel的数据,我们可以传入父ViewModel的属性对象的单个属性。比如有这样一个组件<comment-template v-with="view"></comment-template>,那我们在这样的组件<script type="text/x-template" id="comment-template"></script>里需要调用到

var commentHtml = {
commentVue: ‘‘,
commentView: {
items:[…]
};

这个下面的items的时候,而在模型中已经定义了

data:{
view:commentHtml.commentView,
},

所以在这个组件里可以这样v-repeat=“items”,前面的v-with=“view”已经声明这个整个这组件里面都在这个view下面,
而如果要在这个组件外面使用的话就需要写成v-repeat=“view.items”,这是在写的过程中经常容易忘的,
当前使用的vue.js的版本是0.11.5,而在0.12版本中已经不建议使用v-with这样的写法了

需要知道用户点击的是当前这道题下面的三个选项中的哪一项,传统的方法的话主要点在于要给每道题添加一个新属性用于标识,比如这里使用的index=‘1’;index=‘2’;这样,然后点击某个选项的时候返回到它的父节点去查看是不是它的父节点的index属性是否等于相应的值,如果是,那么就说明是这个题下面的这个选项,那么选择这个选项该给多少分数就给多少分数,最后把这个分数加起来,就是用户得到的总分;

用vue.js改写的话先是把数据放到js文件中,我们有六个样式相同的页,只需要写一个页然后把数据存到一个数组放到js文件中,当需要数据的时候去循环这个数组。对于跳转的下一页是通过改变样式,然后这里需要添加一个标记,通过这个标记与当前页的index的对比来判断是否给它添加这个class,在判断选择的是某到题的某一项的时候使用了switch,分case:0,case:1,case:2三种情况,

这次活动用到了CSS3的几个重要的属性,一个是transform,一个是animation,这两个属性是CSS3动画里很重要的部分,虽然早已见过用它们来实现的一些酷炫效果,这次用到了趁此机会另外总结总结,最主要是要知道,用它能做成什么。当有需求的时候才能用的上。

在pr之前要先拉一下代码

少抱怨,多做事

zepto类似jQuery一样,是去进行一些细节上的DOM操作,而Vue更多的是操作数据

gulp安装到全局:
sudo npm install gulp -g —versose

jshint()是代码验证工具,这种工具可以检查你的代码并提供相关的代码改进意见,结果一检查就检查出代码里写的不规范的地方,一个是重复定义了一个变量,还有就是分号有些地方没有加上。

gulp配置的话再简单介绍一下,

gulp.task(‘js_daka‘, function () {
return gulp.src(‘./src/nishidaka/static/js/index.js‘)
.pipe(jshint())
.pipe(jshint.reporter(‘jshint-stylish‘));
});

gulp.task(‘js_nishidaka‘, function () {
return gulp.src(‘./src/nishidaka/static/js/index.js‘)
.pipe(uglify())//压缩js文件
.pipe(rename(‘index.min.js’))//重命名
.pipe(gulp.dest(‘./src/nishidaka/static/js’))//目标文件夹
});

gulp.task(‘css_nishidaka‘, function () {
return gulp.src([‘./src/nishidaka/static/css/base.css‘, ‘./src/nishidaka/static/css/index.css‘])
.pipe(concat(‘all.css’))//如果有多个文件的话先合起来再进行压缩
.pipe(minifyCss())
.pipe(rename(‘index.min.css‘))
.pipe(gulp.dest(‘./src/nishidaka/static/css‘))
});

gulp.task(‘nishidaka_index‘, [‘js_daka‘, ‘css_nishidaka‘, ‘js_nishidaka‘]);

配置好后跑一遍:从终端里进入文件,执行gulp nishidaka_index

这里还有一个小插曲,开始使用的CSS压缩插件是csso,可是显示效果有所偏差,后来改用minifyCss压缩就正常了,查看压缩后的文件原来是压缩的时候有bug,压缩后的css位置改变不正确导致的样式错乱,

时间: 2024-10-13 10:43:44

选择题活动小结的相关文章

NCC Meetup 2018 Shanghai 活动小结

NCC Meetup 2018 上海的活动于2018年6月30日在微软上海港汇办公室进行.原本计划30人规模的小型活动,结果收到了逾60人的报名,其中大部均来到现场参加了活动. 本次活动得到了微软公司的场地支持,同时非常感谢 范亮先生. 刘浩杨先生和 邹嵩先生三位演讲者.以及 王豫翔先生和 施昊先生的大力支持,需要感谢摄像师大哥的全程技术支持(虽然效果有点忧伤--) 作为第一场活动,本次聚会的三位演讲者均来自 NCC PMC 团队,分别带来分布式应用.性能监控与网络爬虫三场演讲: 范亮先生所做演

[nginx] 由Lua 粘合的Nginx生态环境-- agentzh tech-club.org

[nginx] 由Lua 粘合的Nginx生态环境-- agentzh tech-club.org 演讲听录 [复制链接] kindle LT管理团队 Rank: 9Rank: 9Rank: 9 未绑定新浪微博 签到222 注册时间1970-1-1最后登录2015-6-5在线时间168 小时阅读权限200积分19025帖子119主题35精华2UID9223 LT总司令 LT元老 LT教授 串个门加好友打招呼发消息 电梯直达跳转到指定楼层 1# 发表于 2013-1-12 12:43:47 |只看

linuxtoy.org资源

https://linuxtoy.org/archives.html Archives 在 Android 系统上安装 Debian Linux 与 R (2015-07-14) Pinos:实现摄像头共享 (2015-07-06) Firefox 40 Beta (2015-07-04) BookDrop: 通过 Dropbox 接收 Kindle 电子书 (2015-06-24) Linux Kernel 4.1 (2015-06-23) b2gdroid:在 Android 手机上一键切换

转《WF编程》笔记目录

<WF编程>笔记目录 2008-03-18 09:33 by Windie Chai, 26803 阅读, 49 评论, 收藏, 编辑 WF笔记开始 <WF编程>系列之0 - WF笔记开始 电子版下载地址 <WF编程>系列之附录 电子版下载地址 1 Hello, Workflow 1.1 创建工作流解决方案 <WF编程>系列之1 - Hello,Workflow & 创建工作流解决方案 1.2 漫游工作流 1.2.1 活动 1.2.1.1 自定义活动

面试小结2-单项选择题

二.单项选择题:1. 下面的网络协议中,面向连接的的协议是: A .A 传输控制协议 B 用户数据报协议 C 网际协议 D 网际控制报文协议2. 在/etc/fstab文件中指定的文件系统加载参数中, D 参数一般用于CD-ROM等移动设备.A defaults B sw C rw和ro D noauto3. Linux文件权限一共10位长度,分成四段,第三段表示的内容是 C .A 文件类型 B 文件所有者的权限 C 文件所有者所在组的权限 D 其他用户的权限4. 终止一个前台进程可能用到的命令

软件工程过程 第2章 软件开发的主要活动

1.需求工程.P13 需求是任何软件开发项目的基础. 好的需求是项目成功开发的必要条件. 需求分析工作可划分为两个阶段:需求开发和需求管理.需求开发就是传统意义上的需求分析. 2.需求开发(需求分析)的目标.P13 与客户和其他涉众在系统的工作内容方面达成并保持一致. 使系统开发人员能够更清楚地了解系统需求,定义系统边界: 为软件实施计划提供基础: 为估算开发系统所需成本和时间提供基础: 定义系统用户的需求和目标. 3.需求开发阶段包括需求获取.需求分析.规格化说明和需求验证4个活动:需求管理包

第13周软编学习小结

我的小结: 我的收获:     说真的!第8周至第11周的小组讲课,我的收获不是太丰富.因为这不同于初高中的课前预习,我认为设计模式与原则有点不大好理解,课前预习不充分也是其一因素,还有一个问题是,自初中就接受的是外界灌输式教学方式,没有养成自己主动学习的习惯,不过我有通过编程序,敲代码来提高自己对软件编程的学习与认识.                  本周小结 类别 内容 开始时间 结束时间 中断时间 前后用时 活动 本周站点会议 14:30h 16:00h 20min 90min 撰写博客

数据挖掘中分类算法小结

数据挖掘中分类算法小结 数据仓库,数据库或者其它信息库中隐藏着许多可以为商业.科研等活动的决策提供所需要的知识.分类与预测是两种数据分析形式,它们可以用来抽取能够描述重要数据集合或预测未来数据趋势的模型.分类方法(Classification)用于预测数据对象的离散类别(Categorical Label);预测方法(Prediction )用于预测数据对象的连续取值. 分类技术在很多领域都有应用,例如可以通过客户分类构造一个分类模型来对银行贷款进行风险评估;当前的市场营销中很重要的一个特点是强

eclipse中使用javap工具小结

关于javap的功能,百度百科上是这么解释的: javap javap是jdk自带的一个工具,可以反编译,也可以查看java编译器生成的字节码,是分析代码的一个好工具. 简单明了,大多时候真正的开发环境为linux系统,但是在windows下开发的时候又不习惯dos窗口的化,eclipse为我们提供了 javap的详细使用: 我们能够在eclipse中使用javap工具,我们有必要了解一下在eclipse中的Variables这个东西.这个英文单词的意思是变量集合的意思,意思就是我们以某些简短的