vuejs / Discussion

Vue.js discussion
167 stars 17 forks source link

how to write code better? #375

Open yolio2003 opened 9 years ago

yolio2003 commented 9 years ago

想要做到切换 classname 的目的,怎么做比较好目前代码: http://jsfiddle.net/yolio2003/otqcz1fm/4/ 感觉不好。


直接用表达式来做:https://github.com/yyx990803/vue/blob/dev/examples/todomvc/index.html#L44-L46 以后问题请发到 vuejs/Discussion,不要发在这里。


hi,@ 小右,多谢回复,已经很简洁的搞定了: http://jsfiddle.net/yolio2003/otqcz1fm/11/

但是衍生了一个问题: http://jsfiddle.net/yolio2003/otqcz1fm/22/

数组内部,我要想单独操作 project 的数据怎么办? 只能 vm.projectlist.$set 重写所有的数据 ?

yolio2003 commented 9 years ago

after try many times:

http://jsfiddle.net/yolio2003/otqcz1fm/35/

因为想要单独修改数组内部的单个数据:

item.isCur = true // not working,不明白为啥不可以?
this.projectlist[i].isCur = true // not working, 不推荐的错误用法
this.projectlist.$set(i, {
 'isCur': true,
   'path': 'pathrewrite', 
}) // working but must rewrite all key value 
this.projectlist.$set('['+ i +'].isCur', false) // not working ,数组 $set 不支持 path 参数?
// best solution :
this.$set('projectlist['+ i +'].isCur', true)

希望上面的尝试能在文档中有相关例子,我真的没找到才来麻烦大家的。