首页 > 其他分享 >vue-day2

vue-day2

时间:2023-04-09 22:45:30浏览次数:56  
标签:vue return name age day2 sex computed

绑定class样式

:class="" (v-bind的缩写)

修改vue维护的数据,而非直接操作dom

绑定style,内联样式,交给vue管理(要对象,或者数组)

font-size  ->  fontSize   换位驼峰

 

 

⭐⭐⭐vue条件渲染

v-show  底层 -> 调整style行内样式, display:none

v-if    dom节点都没了,彻底没了,没这个结构

 

选择:切换频率高,建议用v-show

 

 

template 最终渲染出来会被脱掉,注意:template只能配合v-if,不能配合v-show

好处:不用多写个div包裹<h2>破坏结构

 

 

 


⭐⭐⭐列表渲染

唯一标识也可以用index

in 也可以换成 of

 

 

重点是遍历数组!!!

key是vue在使用,在渲染为真实dom之后,dom上实际没有这个key

key原理讲解举例:特殊情况:

 

 

所以:数据的唯一标识最好由后端提供


 

列表过滤+列表排序

<div id="root">
    <h2>人员列表</h2>
    <input type="text" placeholder="搜索" v-model="keyWord">
    <button @click="sortRule = 2">按年龄升序</button>
    <button @click="sortRule = 1">按年龄降序</button>
    <button @click="sortRule = 0">默认</button>
    <ul>
        <li v-for="(item,index) in tempArr" :key="index">
            {{item.name}} - {{item.age}} - {{item.sex}}
        </li>
    </ul>
</div>
</body>
<script type="text/javascript">
    Vue.config.productionTip = false
    const vm = new Vue({
        el: '#root',
        data() {
            return {
                keyWord: '',
                sortRule: 0, // 0 默认,1 降序, 2 升序
                persons: [
                    {id: '001', name: '马冬梅', age: 18, sex: '女'},
                    {id: '002', name: '周冬雨', age: 20, sex: '女'},
                    {id: '003', name: '周杰伦', age: 14, sex: '男'},
                    {id: '004', name: '温兆伦', age: 13, sex: '男'}
                ]
            }
        },
        methods: {},
        // 基于计算属性实现
        computed: {
            tempArr() {
                const arr = this.persons.filter((p) => {
                    return p.name.indexOf(this.keyWord) !== -1
                })
                if (this.sortRule) {
                    arr.sort((p1, p2) => {
                        // 简化:三元表达式
                        if (this.sortRule === 1) {
                            return p2.age - p1.age
                        } else {
                            return p1.age - p2.age
                        }
                    })
                }
                return arr
            }
        }
    })
</script>

 

computed执行条件,computed里面所使用到的变量一旦发生变化,则computed会重新执行


 

⭐⭐⭐更新时的问题

vue检测数据的原理_对象

 

标签:vue,return,name,age,day2,sex,computed
From: https://www.cnblogs.com/joeyboy/p/17300133.html

相关文章

  • vue之插槽
    #######################                    #########################......
  • vue-router
    ###################npminstallvue-router       Vue.use()方法的源代码如下:functioninstall(Vue){//避免重复安装插件if(install.installed&&_Vue===Vue)returninstall.installed=true_Vue=Vue//执行插件的安装方法const......
  • Vue开发规范
    ###############################单文件组件内容:<!--componentA.vue--><script>/*...*/</script><template>...</template><style>/*...*/</style>   组件相关:尽可能的减少watcher的数量尽量减少组件嵌套,递归渲染影响性能大量数据渲染导致卡顿,可以先渲染用户可见......
  • Vue——patch.ts【十四】
    前言前面我们简单的了解了vue初始化时的一些大概的流程,这里我们扩展下Vue的patch。内容这一块主要围绕vue中的__patch__进行剖析。__patch__Vue.prototype.__patch__的方法位于scr/platforms/web/runtime/index.ts中;//installplatformpatchfunction//判断是......
  • Vue Router 学习整理
    VueRouter是Vue.js的官方路由。它与Vue.js核心深度集成,让用Vue.js构建单页应用变得轻而易举。功能包括:嵌套路由映射动态路由选择模块化、基于组件的路由配置路由参数、查询、通配符展示由Vue.js的过度系统提供的过渡效果细致的导航控制自动激活CSS类的链接HTML5histo......
  • VUE-Antd开发,validate规则校验第一次为空,后面无论怎么输入都显示不可为空
    问题描述场景是修改弹窗,给数据赋值,其中数据有String和Array第一次操作多选框(数据类型是Array)输入为空并在输入框外点击,显示不可为空。之后无论怎么输入都显示不可为空。(当你控制台输出校验value时,会发现里面的值永远是第一次操作的数据,而非为空)可能原因1️⃣rules定义出错......
  • ant-design-vue日历面板 a-calendar 属性自定义设置
    通过自定义属性设置,实现一个周末与工作日的不同颜色设置效果图: 使用的属性:自定义头部设置headerRender自定义日期显示dateFullCellRender代码:<template><divclass="box"><h3>1.自定义头部;2.自定义日期显示,工作日显示,周末显示</h3><a-c......
  • 将Vue项目部署到Tomcat服务器上(简单、粗暴)
    1.将项目打包Vue中自带webpack,可以通过一行命令将项目打包#执行该命令打包npmrunbuild2.上传相应文件到服务器上打包完成后,项目中会多出一个dist文件夹,这个文件夹中就包含html、css、js等文件直接将dist文件夹上传到Tomcat的ROOT目录下,默认情况下,访问服务器网址......
  • Vue常用指令
    常用指令指令:HTML标签上带有V-前缀的特殊属性,不同指令具有不同含义。常用指令指令作用v-bind为HTML标签绑定属性值,如设置href,css样式等v-model在表单元素上创建双向数据绑定v-on为HTML标签绑定事件v-if条件性的渲染某元素,判定为true时渲染,否则不......
  • html页面里面的button标签使用@click属性时,无法定位到Vue的method里面
    问题解决就很离谱,都是按照网上的教程来的,一直无法定位,之后跟着加上了div标签,加上了id属性,方法还是灰白色,调用不了;后来直接将el属性名称更改掉了,没想到这样就成功识别到了,反正就是逻辑没有出问题,最后也达到期望值了。......