利用所学的Vue指令实现一个分类筛选器

学完Vue的基础指令以后,我们可以用所学的指令实现一个简易的分类筛选器,接下来让我们看一下,写完以后大概就是这样:
在这里插入图片描述
可以看到,成型之后是这个样子,然后我们点击上面的主题分类,下面的主题细节会随着筛选变化:
利用所学的Vue指令实现一个分类筛选器_第1张图片
利用所学的Vue指令实现一个分类筛选器_第2张图片
然后接下来我们开始制作,在这里列举了几个分类:
利用所学的Vue指令实现一个分类筛选器_第3张图片
然后我们可以根据上边的数据在编辑器内写出简单的样式:

		

主题分类:

主题细节:

为了更好区分,我们为每个元素设置一个样式,方便更好的辨认:

		.subjectItem{
            margin-right: 20px;
        }
        .bold{
            font-weight: bold;
        }

利用所学的Vue指令为上边的HTML代码赋值并书写样式,接下来就是Vue部分的代码:
我们可以在data数据中心把需要的数据放进去,不要放混,主题分类和主题细节的数据分开,后续需要进行交互,完成以后是这个样子:

data:{
                subject:[
                    {
                        name:"全部",
                        tag:"all"
                    },
                    {
                        name:"HTML语言",
                        tag:"html"
                    },
                    {
                        name:"CSS技术",
                        tag:"css"
                    },
                    {
                        name:"Javascript",
                        tag:"js"
                    },
                    {
                        name:"前端框架",
                        tag:"front"
                    },
                    {
                        name:"后台框架",
                        tag:"back"
                    },
                    {
                        name:"数据库",
                        tag:"database"
                    }
                ],
                detail:[
                    {
                        name:"HTML",
                        tag:"html"
                    },
                    {
                        name:"HTML5",
                        tag:"html"
                    },
                    {
                        name:"CSS",
                        tag:"css"
                    },
                    {
                        name:"CSS3",
                        tag:"css"
                    },
                    {
                        name:"Js语法基础",
                        tag:"js"
                    },
                    {
                        name:"DOM文档对象模型",
                        tag:"js"
                    },
                    {
                        name:"面向对象的程序设计",
                        tag:"js"
                    },
                    {
                        name:"Vue.js",
                        tag:"front"
                    },
                    {
                        name:"Bootstrap",
                        tag:'front'
                    },
                    {
                        name:"Node.js",
                        tag:'front'
                    },
                    {
                        name:"Express",
                        tag:'front'
                    },
                    {
                        name:"PHP",
                        tag:"back"
                    },
                    {
                        name:"JSP",
                        tag:'back'
                    },
                    {
                        name:"Java",
                        tag:"back"
                    },
                    {
                        name:"MySQL",
                        tag:"database"
                    },
                    {
                        name:"mongDB",
                        tag:"database"
                    }
                ],
                currentTag:"all",
                currentName:""
            }

最后两行代码我们拿来最后判断用~
然后就是我们最后一个步骤,当我们点击的时候让它发生变化,方法层的数据我们写在methods内:

methods:{
                subjectClick:function(tag){
                    this.currentTag=tag;
                },
                detailClick:function(name){
                    this.currentName=name;
                }
            }

这样我们就实现了一个简易的分类筛选器,需要用的时候我们直接更改样式和data里的数据即可~
下面是完整代码(可参考):

HTML部分:

	

分类筛选器:

主题分类:

主题细节:

CSS部分:

		.subjectItem{
            margin-right: 20px;
        }
        .bold{
            font-weight: bold;
        }

javascript代码:

var app=new Vue({
            el:'#app',
            data:{
                subject:[
                    {
                        name:"全部",
                        tag:"all"
                    },
                    {
                        name:"HTML语言",
                        tag:"html"
                    },
                    {
                        name:"CSS技术",
                        tag:"css"
                    },
                    {
                        name:"Javascript",
                        tag:"js"
                    },
                    {
                        name:"前端框架",
                        tag:"front"
                    },
                    {
                        name:"后台框架",
                        tag:"back"
                    },
                    {
                        name:"数据库",
                        tag:"database"
                    }
                ],
                detail:[
                    {
                        name:"HTML",
                        tag:"html"
                    },
                    {
                        name:"HTML5",
                        tag:"html"
                    },
                    {
                        name:"CSS",
                        tag:"css"
                    },
                    {
                        name:"CSS3",
                        tag:"css"
                    },
                    {
                        name:"Js语法基础",
                        tag:"js"
                    },
                    {
                        name:"DOM文档对象模型",
                        tag:"js"
                    },
                    {
                        name:"面向对象的程序设计",
                        tag:"js"
                    },
                    {
                        name:"Vue.js",
                        tag:"front"
                    },
                    {
                        name:"Bootstrap",
                        tag:'front'
                    },
                    {
                        name:"Node.js",
                        tag:'front'
                    },
                    {
                        name:"Express",
                        tag:'front'
                    },
                    {
                        name:"PHP",
                        tag:"back"
                    },
                    {
                        name:"JSP",
                        tag:'back'
                    },
                    {
                        name:"Java",
                        tag:"back"
                    },
                    {
                        name:"MySQL",
                        tag:"database"
                    },
                    {
                        name:"mongDB",
                        tag:"database"
                    }
                ],
                currentTag:"all",
                currentName:""
            },
            methods:{
                subjectClick:function(tag){
                    this.currentTag=tag;
                },
                detailClick:function(name){
                    this.currentName=name;
                }
            }
        })

希望能帮到你哦~

你可能感兴趣的:(vue日常篇)