首页IT科技vue new map(Vue初探)

vue new map(Vue初探)

时间2025-06-20 10:54:52分类IT科技浏览3791
导读:MVVM模型 M:模型(Model :对应 data 中的数据 V:视图(View :模板(理解为html页面 VM:视图模型(ViewModel : Vue 实例对象...

MVVM模型

M:模型(Model) :对应 data 中的数据 V:视图(View) :模板(理解为html页面) VM:视图模型(ViewModel) : Vue 实例对象

数据驱动视图:

如上图所示ViewModel充当着监控者的角色              ,监控到了mode数据发生变化                    ,便会通知view试图进行更新      ,这个过程并不需要参与其中

插值语法

{{ }}可以插入表达式

不能放if          ,不会产生值                     ,可以放三元表达式

vm实例中data里的属性都可以通过Vue实例vm调用

事件处理

鼠标事件

v-on: 可替换为@ <a @click.prevent="show" href=https://www.cnblogs.com/mojospy/p/url/> // 默认给show传event参数:代表这次触发的事件

事件修饰符:

.stop 阻止事件冒泡         ,从此元素开始不往上冒了 .once 事件只触发一次 .prevent 阻止默认事件

键盘事件

<input type=text @keydown="show($event,666)"/> // 传俩参 ...... // 自定义的函数必须写在vue配置中的methods配置中      ,交给vue管理 show($event,x) { // 要传别的参数时                     ,必须加个$event形参作为占位符 console.log($event.key); // 键名 console.log($event.keyCode);// 键码 console.log($event.target) // 触发事件的元素 }

事件修饰符:

@keyup.enter .delete // 具体到特定的键才会触发事件 .esc.tab // 可链式调用 .space .up .down .left .right

数据绑定

单向绑定

v-bind:可缩写为 : <a :href=https://www.cnblogs.com/mojospy/p/baidu.com>

双向绑定

v-model:value 缩写 v-model <input id=root type=text v-model=name> <script> new Vue({ el:#root, data:{ name:lisi // 改变输入框里的值            ,这里的name也会变 } }) </script>

修饰符:

对于输入元素   ,默认的行为方式是一旦有数据变化                     ,马上进行绑定            。

v-model.lazy // 相当于监听change操作               ,只有在失去焦点的时候,才会进行数据绑定 .nuber // v-model默认是string类型                  ,确保获取到的是数字类型 .trim // 去掉数据前后的空白再同步

计算属性

对于任何复杂逻辑                   ,都应当使用计算属性

methods和computed区别:

computed 是基于它的依赖缓存   ,只有相关依赖发生改变时才会重新取值                    。

而使用 methods               ,在重新渲染的时候                    ,函数总会重新调用执行        。

<div id="root"> <p> message: "{{ message }}"</p> <p>Computed message: "{{ msg }}"</p> // 切片 </div> // msg为回调函数return的值 new Vue({ el:#root, data:{ message:hello }, computed:{ msg:function() { // 可简写msg(){...}(不考虑set) return this.message.slice(0,3) } // this指向vm实例 } })

监视属性

初始化Vue时设置监听

new Vue({ data:{ num:{ a:0, // num中的a或b发生变化时      ,watch默认监视不到 b:0, } }, watch:{ num:{ immediate:true, // 初始化时调用一下handler deep:true, // 深度监视:watch监视num内部值的改变 handler:function(new,old) { // 发生变化时执行的回调函数 console.log(监视执行,new,old) } // 参数为变化前后的值(必须监视到具体变化的对象) } }          , })

简写:只需要调用handler                     ,不能设置监视配置

watch:{ num(new,old) { // 函数名为监视对象         ,函数体为回调执行体 console.log(监视执行) } }

api设置监听

vm.$watch(监视对象      ,监视配置) vm.$watch(num,{ deep:true, handler:function(){...} })

简写:简写:只需要调用handler                     ,不能设置监视配置

vm.$watch(num,function() { // 不能写成箭头函数 // 回调方法体 })

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
私人定制图画(私人定制AI绘画——快速finetune stable diffusion教程)