当前位置: 首页 > Web前端 > HTML

vue从入门到精通day02

时间:2023-03-28 16:46:52 HTML

day021.列表过滤和设计数据排序逻辑不难,关键看你能不能想到用计算属性。一个数据是根据其他数据的变化而产生的。使用计算属性几乎是不可能的2.vue中如何监控数据变化和更新页面(点击按钮修改第一项)1.修改数组中对象的属性,发现页面可以改变了2.调用数组的方法直接修改数组中的整个对象,发现页面也可以改变3.通过数组的下标直接修改数组中的整个对象,发现该页面无法更改。原因:修改数组中对象的属性是可以修改的,因为对象的所有属性都添加了get和set方法(响应式数据),data中的所有对象都可以通过数组方法修改整个对象来修改,因为vue中重写了数组的一些原生方法,增加了显示到页面的功能,直接通过下标修改数组的整个对象,这样是不可能显示到页面上的,但是数据确实有改变了,因为数组的整体数据还没有添加get和set方法。对象数据和数组数据响应式的区别3.强制绑定样式类和样式类动态绑定:1.类名不是字符串形式2.类名确定了,但不知道是哪个有效对象形式3.数组形式中有效的几个类名样式动态绑定1.原来的东西一定要写在对象中,样式名不变,样式值是动态的2.如果样式名是不合法,应该写在humpcase4.条件渲染v-ifv-else隐藏时,直接删除文档流中不存在的元素节点(内存None)v-show隐藏时,使用cssdisplay:none隐藏文件流并仍然存在(有内存)哪个更好?取决于如何使用它:假设我们需要频繁切换,那么v-show效率更高但占用内存。假设我们不经常切换,那么v-ifv-else比较好,不占内存。5.事件绑定方法v-on@参数:1、不传参数就不用加()。默认传递事件对象参数$event。2.需要加()传递参数,但是默认的事件对象参数会被传递的参数覆盖。3.如果需要同时传递两个参数和使用事件对象,则需要传递两个参数:1.自己的参数2.$event事件对象:防止事件冒泡的事件修饰符。stop取消默认行为事件修饰符。prevent6、自动采集表单数据v-model在应用输入框data中输入的数据会自动赋值给data中的数据。单框数据中选择的值会自动支付给数据中的数据。在多框数据中选择的值将自动添加到数据数组中。下拉菜单数据选择的id值会自动赋值给数据的data。写在文本字段数据上的文本会自动分配给数据的数据。7.生命周期钩子(回调函数)给我们机会去干预vue的工作流生命周期执行顺序是固定的。创建前初始化数据,创建前打印数据。创建后初始化数据。数据打印完成后,可以看到贴装前的初始页面。不显示初始页面的元素。安装后看不到初始页面。显示初始页面元素。请参阅更新前的页面。更新前的实例数据是正确的。页面呈现的数据有误。页面更新后,实例数据正确。页面呈现的数据是正确的。页面呈现的数据是正确的。实例销毁后,一般不需要频繁使用mounted和beforeDestory。我们经常在mounted里面做异步操作。添加事件定时器ajax时,会调用vm.$destroy(),执行beforeDestory和destroy,beforeDestory会做收尾工作:清除计时8.transition和动画的实现。参考官方网站。类名会自动添加到需要的元素中,也就是transition标签里面的元素。9.自定义过滤器(参考官网)显示数据时,进行数据处理Processing(格式化后显示,不会影响原始数据)使用moment插件定义全局过滤器Vue.filter('过滤器名称',回调函数);定义本地过滤器配置10、vue内置指令在vm中的fliters对象中v-textv-htmlv-on//绑定事件的简写@v-bind//单向数据绑定:v-for//列表渲染v-if//条件渲染v-elsev-show//条件渲染ref//添加对特定元素的引用,实例的$refs可以在里面获取11、自定义指令(和定义过滤器很相似,参考官网)定义全局指令Vue.directive('filtername',回调函数);定义本地指令并在vm中的directives对象中配置注意:指令名必须全部小写,不能大写12.自定义插件(参考官网)插件的作用:定义插件对象,在Vue和Vue的实例中添加一些额外的功能。必须声明插件对象才能使用Vue.use()