收藏此站 联系我们 网站
当前位置:首页» 技术日志 » 【建站服务】宿州网站建设_企业网站制作公司_高端网站设计开发-宿州上往-域名申请

【建站服务】宿州网站建设_企业网站制作公司_高端网站设计开发-宿州上往-域名申请

作者: 风兰 . 阅读量: 3 . 发表时间:2022-09-21 02:22:20

网站建设
​

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。



宿州网站建设_企业网站制作公司_高端网站设计开发-宿州上往


网站建设.png

子函数

指令定义函数提供了几个钩子函数(可选):


created : 在绑定元素的属性或事件监听器被应用之前调用。


beforeMount : 指令第一次绑定到元素并且在挂载父组件之前调用。。


mounted : 在绑定元素的父组件被挂载后调用。。


beforeUpdate: 在更新包含组件的 VNode 之前调用。。


updated: 在包含组件的 VNode 及其子组件的 VNode 更新后调用。


beforeUnmount: 当指令与在绑定元素父组件卸载之前时,只调用一次。


unmounted: 当指令与元素解除绑定且父组件已卸载时,只调用一次。


实例

import { createApp } from 'vue'

const app = createApp({})

 

// 注册

app.directive('my-directive', {

  // 指令是具有一组生命周期的钩子:

  // 在绑定元素的 attribute 或事件监听器被应用之前调用

  created() {},

  // 在绑定元素的父组件挂载之前调用

  beforeMount() {},

  // 绑定元素的父组件被挂载时调用

  mounted() {},

  // 在包含组件的 VNode 更新之前调用

  beforeUpdate() {},

  // 在包含组件的 VNode 及其子组件的 VNode 更新之后调用

  updated() {},

  // 在绑定元素的父组件卸载之前调用

  beforeUnmount() {},

  // 卸载绑定元素的父组件时调用

  unmounted() {}

})

 

// 注册 (功能指令)

app.directive('my-directive', () => {

  // 这将被作为 `mounted` 和 `updated` 调用

})

 

// getter, 如果已注册,则返回指令定义

const myDirective = app.directive('my-directive')

钩子函数参数

钩子函数的参数有:


el


el 指令绑定到的元素。这可用于直接操作 DOM。


binding


binding 是一个对象,包含以下属性:


instance:使用指令的组件实例。

value:传递给指令的值。例如,在 v-my-directive="1 + 1" 中,该值为 2。

oldValue:先前的值,仅在 beforeUpdate 和 updated 中可用。值是否已更改都可用。

arg:参数传递给指令 (如果有)。例如在 v-my-directive:foo 中,arg 为 "foo"。

modifiers:包含修饰符 (如果有) 的对象。例如在 v-my-directive.foo.bar 中,修饰符对象为 {foo: true,bar: true}。

dir:一个对象,在注册指令时作为参数传递。例如,在以下指令中:

app.directive('focus', {

  mounted(el) {

    el.focus()

  }

})

dir 将会是以下对象:


{

  mounted(el) {

    el.focus()

  }

}

vnode


作为 el 参数收到的真实 DOM 元素的蓝图。


prevNode


上一个虚拟节点,仅在 beforeUpdate 和 updated 钩子中可用。


以下实例演示了这些参数的使用:


实例

<div id="app">

   <div v-runoob="{ name: '菜鸟教程', url: 'www.runoob.com' }"></div>

</div>

<script>

const app = Vue.createApp({})

app.directive('runoob', (el, binding, vnode) => {

console.log(binding.value.name) // => "菜鸟教程"

console.log(binding.value.url) // => "www.runoob.com"

var s = JSON.stringify

el.innerHTML = s(binding.value)

})

app.mount('#app')

</script>


尝试一下 »

有时候我们不需要其他钩子函数,我们可以简写函数,如下格式:


Vue.directive('runoob', function (el, binding) {

  // 设置指令的背景颜色

  el.style.backgroundColor = binding.value.color

})

指令函数可接受所有合法的 JavaScript 表达式,以下实例传入了 JavaScript 对象:


实例

<div id="app">

    <div v-runoob="{ color: 'green', text: '菜鸟教程!' }"></div>

</div>

 

<script>

Vue.directive('runoob', function (el, binding) {

    // 简写方式设置文本及背景颜色

    el.innerHTML = binding.value.text

    el.style.backgroundColor = binding.value.color

})

new Vue({

  el: '#app'

})

</script>


尝试一下 »





宿州网站建设_企业网站制作公司_高端网站设计开发-宿州上往



上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设:上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务