Vue自定义指令配置修饰符和传参

一和二,请参考https://www.cnblogs.com/zui-ai-java/p/11109213.html

三、index.html

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 7     <title>index</title>
 8     <style>
 9         .card{
10             width:200px;
11             padding:10px;
12             margin:5px;
13             background: #ccc;
14         }
15     </style>
16
17 </head>
18 <body>
19     <div id="app">
20         <div v-pin:true.bottom.left="card1.pinned" class="card">
21             <button @click="card1.pinned = !card1.pinned">固定/取消</button>
22             点击佛啊  到爱上对方 大理市地方 大理石的发生啥都if静安寺
23         </div>
24
25         <div v-pin="card2.pinned" class="card">
26             <a @click="card2.pinned = !card2.pinned" href="#">pin it</a>
27             鲁大师的佛 了发斯蒂芬 的拉法的拉法  豆爱疯
28         </div>
29
30         <div>
31                 基础方式
32                 new 一个Vue的实例<br>
33                 注册组件并使用<br>
34                 注册组件
35                 全局注册<br>
36                 局部注册<br>
37                 通过new创建Vue实例,  全局注册组件,局部注册组件三者的使用频率(场景)<br>
38                 Vue中的props数据流
39                 props取值的方式<br>
40                 props内写的是驼峰命名法,为什么在HTML(模板)中又用了短横线命名法?<br>
41                 使用v-bind的必要性:props不绑定的前提下,只能被作为字符串解析<br>
42                 Vue的自定义事件
43                 自定义事件的原理<br>
44                 自定义事件的作用1 ——“重新定义”了事件监听机制的范围<br>
45                 自定义事件的作用2 ——使得父子组件权责明确<br>
46                 Slot的使用<br>
47                 具名slot<br>
48
49
50                 正文<br>
51
52                 回到顶部<br>
53                 Vue渲染的两大基础方式<br>
54                 new 一个Vue的实例
55                 这个我们一般会使用在挂载根节点这一初始化操作上:<br>
56
57                 new Vue({<br>
58                 el: ‘#app‘<br>
59                 })<br>
60
61
62                 注册组件并使用<br>
63                 通过Vue.component()去注册一个组件,你就可以全局地使用它了,具体体现在每个被new的 Vue
64
65                 <br>实例/注册组件, 的template选项属性或者对应的DOM模板中,去直接使用<br>
66
67
68
69                 回到顶部<br>
70                 注册组件
71                 全局注册<br>
72                 例如,放在通过new创建的Vue实例当中:<br>
73
74                 复制代码
75                 Vue.component(‘my-component‘, {<br>
76                 template: ‘<p>我是被全局注册的组件</p>‘<br>
77                 })
78                 /*
79                 Vue.component(组件名称[字符串], 组件对象)<br>
80                 */
81
82                 new Vue({<br>
83                 el: ‘#app‘,<br>
84                 template: ‘<my-component></my-component>‘<br>
85                 })
86                 复制代码<br>
87
88
89                 demo:<br>
90         </div>
91     </div>
92
93     <script src="../lib/vue.js"></script>
94     <script src="./js/main.js"></script>
95 </body>
96 </html>

四、main.js

 1 // 自定义v-pin指令
 2 // el表示指令所在标签元素
 3 // binding表示指令,其中value属性得到指令的值
 4 Vue.directive("pin",function(el,binding){
 5     var pinned = binding.value;
 6     // console.log("pinned",pinned)
 7
 8 // 使用modifiers属性可以得到指令的属性,是一个js对象
 9     var position = binding.modifiers;
10     // console.log("position",position);
11 // 使用arg属性来获取指定的参数
12     var warning = binding.arg;
13     // console.log("warning",warning);
14     if(pinned){
15         el.style.position="fixed";
16 // 通过for..in..遍历position对象
17         for(var key in position){
18             // 使用[key],实现动态的设置方位
19             el.style[key] = "40px";
20         }
21
22         if(warning){
23             el.style.background="yellow";
24         }
25         // el.style.top = "40px";
26         // el.style.left = "40px";
27     }else{
28         el.style.position = "static";
29         el.style.background = "#ccc"
30     }
31
32 })
33
34 new Vue({
35     el:"#app",
36     data:{
37         card1:{
38             pinned:false
39         },
40         card2:{
41             pinned:false
42         }
43     }
44 })

五、效果

六、感谢观看,如有疑问,欢迎交流哦

原文地址:https://www.cnblogs.com/zui-ai-java/p/11110568.html

时间: 2024-10-07 17:52:10

Vue自定义指令配置修饰符和传参的相关文章

Render函数(2):使用原生js替代自定义指令、修饰符、slot

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con

vue自定义指令

什么是指令? 指令 (Directives) 是带有 v- 前缀的特殊属性. 它可以写在DOM元素上,对html进行操作.常用的指令比如有:v-if,v-else,v-show,v-for等.这些都是官方直接给定的,另外Vue也允许注册自定义指令,有时这很有用. 自定义指令方法 自定义一个指令很简单,官网给出一个简单的例子,自定义一个聚焦指令v-focus: // 注册一个全局自定义指令 `v-focus` Vue.directive('focus', { // 当被绑定的元素插入到 DOM 中

vue自定义指令clickoutside使用以及扩展用法

vue自定义指令clickoutside使用以及扩展用法 产品使用vue+element作为前端框架.在功能开发过程中,难免遇到使用element的组件没办法满足特殊的业务需要,需要对其进行定制,例如要求选择器的弹出框中,增加搜索过滤(跟目前element的输入建议不太一样).于是想说说之前修改element组件,并定制为业务组件过程中遇到的问题. ps:因为对某些组件改动很大,所以是直接拷贝了一份源码,然后再进行修改,但是这样会遇到挺多问题,建议对于vue组件如果改动不大,只是简单功能扩展,就

vue自定义指令(Directive中的clickoutside.js)的理解

.array p { counter-increment: longen; margin-left: 10px } .array p::before { content: counter(longen) "." } .alink { font-size: 16px; color: blue } 阅读目录 vue自定义指令clickoutside.js的理解 回到顶部 vue自定义指令clickoutside.js的理解 vue自定义指令请看如下博客: vue自定义指令 一般在需要 DO

Android-应用的本地化及知识拓展之配置修饰符

步骤很简单,只需要两步: 1.创建带有目标语言的配置修饰符的资源子目录 2.将可选资源放入该目录下,android系统会自动处理后续工作 在这里我们需要讲解一下配置修饰符. 中文的配置修饰符:-zh,那么我们需要在res目录下新建两个子目录:res/raw-zh,res/values-zh. 对于没有配置修饰符修饰的子目录,安卓都识别为默认资源目录.但是有一个例外,那就是屏幕显示密度(drawable资源),通常具有三个配置修饰符:-mdpi -hdpi -xhdpi.安卓系统选择何种drawa

使用vue自定义指令合并iview表格单元格

使用vue自定义指令合并iview表格单元格, 我们在开发过程中发现iview表格组件,官网只提供了合并表头的demo,并没有合并表格中的单元格. ivew表头分组:https://www.iviewui.com/components/table#BTFZ 效果图如下: 具体实现思路,通过vue自定义属性来操作dom,达到我们想要的效果: 代码如下: demo.vue  表格页面 <template> <div class="demo"><Table :c

vue 示范模板 指令 按键修饰符

原文链接地址:https://my.oschina.net/u/4087782/blog/3119601 模板示范 <div id="d1"> </div> <script> new Vue({ el:"#d1", // 作用的区域 data:{ // 参数 }, methods:{ // 函数 }, computed:{ // 计算数据函数 }, create:{ // 页面开始加载时运行 } }) </script>

Vue自定义指令和路由

一.自定义指令 除了默认设置的核心指令( v-model 和 v-show ), Vue 也允许注册自定义指令. 下面我们注册一个全局指令 v-focus,该指令的功能是在页面加载时,元素获得焦点: <div id="app"> <p>页面载入时,input 元素自动获取焦点:</p> <input v-focus> </div> <script> // 注册一个全局自定义指令 v-focus Vue.direct

vue 自定义指令

除了默认设置的核心指令(v-model和v-show),vue也允许注册自定义指令.在vue2.0版本中,代码复用的主要形式和抽象是组件--然而,有的情况下,你仍然需要对DOM元素进行底层操作,这时候就会用到自定义指令. 当页面加载时,元素将获得焦点(注意:autoFocus在移动版safari中不工作),事实上,你访问后,还没点击任何内容,input就获得了焦点.现在让我们完善这个指令: // 注册一个全局自定义指令 v-focus Vue.directive('focus', { // 当绑