Vue进阶笔记-组件指令

filters:过滤器
  HTML:       {{ needFilter |  filterName }}
  
  全局过滤器:  Vue.filter({filterName, ( needFilter ) =>{  return  返回值    }}                                 
  局部过滤器:  filters:{
                      filterName( needFiltervalue ){
                           return  返回值
                      }
              }
component:自定义组件
const   hello = { 
         template: '<p>hello component</p>',
         
         data(){     - - - 组件里的data是一个方法,返回一个对象
             return{
                 title: 'x x x'
             }
         },
         methods...computeds...filters...
      }

全局组件: Vue.component(‘hello’,hello)
局部组件: components:{ hello }

注:子组件里的data默认情况下不会相互影响

  在HTML里定义组件:
                  <template id="hello">
                      <div>     - - - 在template里只能有一个子元素
                         ...
                      </div>
                  </template>
 在HTML里使用组件:
                  <hello-word></hello-word> - html内驼峰命名要改成-命名
      
  在JS里引用组件:
                  const helloWord = {
                      template: '#hello',
                      data(){
                          return{
                              ...
                          }
                      },
                      ...
                  }
directive: 自定义指令

eg:)自定义指令-轮播 *inserted 插入最后一个元素时初始化swiper

 <p   v-uptext =" I Love "></p>
 
 全局指令:  Vue.directive('uptext', function(el, binding){
                el.textContent = binding.value.toUpperCase()
           })
           
 局部组件:  derectives:{
                lowertext(el, dinding){
                     el.textContent = binding.value.toLowerCase()
                }
           }
           
 el: 指令属性所在的标签对象    binding:包含指令相关信息的数据对象
指令钩子函数
  • bind - 第一次绑定时调用,可进行初始化设置
  • inserted - 被绑定元素插入父节点时调用
  • update - 所在组件的VNode更新时调用
  • componentUpdated - 指令所在组件的VNode及其子VNode全部更新后调用
  • unbind - 指令与元素解绑时调用
指令钩子函数参数
  • el - 指令绑定的元素,可直接操作DOM
  • binding - 一个对象
    • name - 指令名,不包含v-前缀
    • value - 绑定值
    • oldvalue - 指令绑定的前一个值
    • expression - 字符串形式的指令表达式
    • arg - 传给指令的参数
    • modifiers - 一个包含修饰符的对象
  • vnode - 虚拟节点
  • oldVnode - 上一个虚拟节点,在update,componentUpdated使用

安装 Vue CLI

  • npm install -g @vue/cli
OR
  • yarn global add @vue/cli

升级

  • npm update -g @vue/cli
OR
  • yarn global upgrade --latest @vue/cli

创建项目

  • 运行以下命令来创建一个新项目:

  • vue create hello-world

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值