当前位置: 首页> 财经> 股票 > 微商目前十大火爆产品_网站空间购买价格_国际热点事件_推广服务公司

微商目前十大火爆产品_网站空间购买价格_国际热点事件_推广服务公司

时间:2025/7/11 17:26:19来源:https://blog.csdn.net/2301_80278139/article/details/144634064 浏览次数:0次
微商目前十大火爆产品_网站空间购买价格_国际热点事件_推广服务公司
  • 局部指令只有当前的实例,不能用在其他实例中。

1、注册全局指令

这里的注册可以通过使用Vue.directive(id,definition)来注册一个全局指令。

<div id="box"><input type="text" v-focus>
</div>
<script>Vue.directive('focus', {inserted: function (el) {el.focus();}});var vm = new Vue({el : '#box',});
</script>

2、注册局部指令

这里是放到directives中的。例如这里的setBorder的函数。

<div id="example">边框宽度:<input type="text" v-model="border"><p><img width="200" src="line.jpg" v-set-border="border"></p>
</div>
<script type="text/javascript">
var vm = new Vue({el:'#example',data: {border: ''},directives: {setBorder: {update: function (el,binding) {el.border = binding.value;//设置元素边框}}}
})
</script>

3、钩子函数

这里的el是指令所绑定的元素可以直接操作DOM,后面的binding是一个传入的值的对象,可以用value得到v-demo时绑定的元素的值

<div id="example"><label>选择文字大小:</label><select v-model="size"><option value="20px">20px</option><option value="30px">30px</option><option value="40px">40px</option><option value="50px">50px</option><option value="60px">60px</option></select><p v-font-size="size">天生我材必有用</p>
</div>
<script type="text/javascript">
var vm = new Vue({el:'#example',data: {size: '20px'},directives: {fontSize: function (el,binding) {el.style.fontSize = binding.value;//设置字体大小}}
})
</script>

4、在这里要说明的是,自定义指令的绑定的值不仅仅是data中的属性,也可以是其他的Javascript表达式,数值常量、字符串常量、对象字面量

我这里就局了数组的引用方式,其他的都只要value就可以:

<div id="example"><p v-font-size="{size:54}">天生我材必有用</p>
</div>
<script type="text/javascript">
var vm = new Vue({el:'#example',data: {size: '20px'},directives: {fontSize: function (el,binding) {el.style.fontSize = binding.value.size;//设置字体大小}}
})
</script>

上机大作业(移动的图片):

<div id="box"><img src="banner.jpg" v-move>
</div>
<script type="text/javascript">
var vm = new Vue({el:'#box',directives: {move: function (el) {//按下鼠标el.onmousedown = function(e) {var initX = el.offsetLeft;var initY = el.offsetTop;var offsetX = e.clientX - initX;var offsetY = e.clientY - initY;//移动鼠标document.onmousemove = function(e) {var x = e.clientX - offsetX;var y = e.clientY - offsetY;var maxX = document.documentElement.clientWidth - el.offsetWidth;var maxY = document.documentElement.clientHeight - el.offsetHeight;if(x <= 0) x = 0;if(y <= 0) y = 0;if(x >= maxX) x = maxX;if(y >= maxY) y = maxY;el.style.left = x + "px";el.style.top = y + "px";return false;}}//松开鼠标document.onmouseup = function() {document.onmousemove = null;}}}
})
</script>

 

关键字:微商目前十大火爆产品_网站空间购买价格_国际热点事件_推广服务公司

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: