(四)Vue指令

摘要:
常见的内置指令v:text:更新元素的textContentv html;更新元素的innerHTMLv if;如果为true,则当前标记将输出到页面v-else;如果为false,则当前标记将输出到页面v-show:通过控制显示样式v-for:遍历数组/对象v-on:绑定事件侦听(通常缩写为@v-bind:强制绑定以解析表达式)来控制显示/隐藏。您可以省略v-bindv-model:双向数据绑定ref:为元素注册唯一标识符。vue对象通过$refs属性访问元素对象v-clock:使用它来防止flash表达式,并与css:[v-clock]{display:none}˂!

常用内置指令
  v:text : 更新元素的 textContent
  v-html : 更新元素的 innerHTML
  v-if : 如果为true, 当前标签才会输出到页面
  v-else: 如果为false, 当前标签才会输出到页面
  v-show : 通过控制display样式来控制显示/隐藏
  v-for : 遍历数组/对象
  v-on : 绑定事件监听, 一般简写为@
  v-bind : 强制绑定解析表达式, 可以省略v-bind
  v-model : 双向数据绑定
  ref : 为某个元素注册一个唯一标识, vue对象通过$refs属性访问这个元素对象
  v-cloak : 使用它防止闪现表达式, 与css配合: [v-cloak] { display: none }

  <!--
1.
注册全局指令
  Vue.directive('my-directive', function(el, binding){
    el.innerHTML = binding.value.toupperCase()
  })
2. 注册局部指令
  directives : {
    'my-directive' : {
        bind (el, binding) {
          el.innerHTML = binding.value.toupperCase()
        }
    }
  }
3. 使用指令
  v-my-directive='xxx'
-->
<!--
需求: 自定义2个指令
  1. 功能类型于v-text, 但转换为全大写
  2. 功能类型于v-text, 但转换为全小写
-->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>自定义指令</title>
</head>
<body>
<div id="test">
    <p v-upper-text="msg"></p>
    <p v-lower-text="msg"></p>
</div>
<div id="test2">
    <p v-upper-text="msg"></p>
    <p v-lower-text="msg"></p>
</div>
<script type="text/javascript" src="http://t.zoukankan.com/js/vue.js"></script>
<script type="text/javascript">
    // 注册一个全局指令
    // el: 指令所在的标签对象
    // binding: 包含指令相关数据的容器对象
    Vue.directive('upper-text', function (el, binding) {
        console.log(el, binding)
        el.textContent = binding.value.toUpperCase()
    })
    new Vue({
        el: '#test',
        data: {
            msg: "I Like You"
        },
        // 注册局部指令
        directives: {
            'lower-text'(el, binding) {
                console.log(el, binding)
                el.textContent = binding.value.toLowerCase()
            }
        }

    })

    new Vue({
        el: '#test2',
        data: {
            msg: "I Like You Too"
        }
    })
</script>
</body>
</html>

  

免责声明:文章转载自《(四)Vue指令》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇通过配置tomcat在浏览器访问非项目中的文件CentOS 7安装GitLab、汉化、配置邮件发送下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vue刷新当前路由:router-view 复用组件时不刷新的3种解决方案总结

  vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用。vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。传统的页面应用,是用一些超链接来实现页面切换和跳转的。在vue-router单页面应用中,则是路径之间的切换,也就是组件的切换。   对于路由,不同的路由跳转,vue...

vue组件实现简单的路由

首先在当前项目下安装依赖包,运行npm install  vue-router  则package.json中添加了vue-router 此时在src 下的index.js主程序中引入vue-router,同时告诉Vue使用此路由配置 1 import VueRouter from "vue-router" 2 Vue.use(VueRouter); 在i...

vue基本使用及脚手架使用

一、基本使用: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0">...

Vue路由跳转时显示空白页面,iview的使用

最近在用iview做项目,需要实现登录,注册,忘记密码等功能。iview-admin本来就有登录功能,于是想照葫芦画瓢,实现登录界面的注册,忘记密码页面路由跳转。 router.js里路由配置,刚开始的写法是line28和line38,导入组件,其结果是地址栏实现了路由跳转,但是页面却是一片空白。将其改为line29行的导入形式,就可以实现路由切换了。最后...

vue 文件中的注释

在每个代码块内,注释的时候,需要使用各自语言的注释语法去注释(HTML、CSS、JavaScript、Jade 等)。在文件最顶部注释的时候用HTML的注释语法:<!— 在这里写注释的内容 --> 。 html 注释: <!-- 注释,单行或多行 --> pug(html) 注释:https://pugjs.org/zh-cn...

Vue项目中引入electron发布桌面应用

1. 在原先已有的Vue项目里面,打开终端执行vue add electron-builder ; 2. 选择合适的版本安装好这个插件,执行npm run electron:serve ; 3. 如果页面没有什么错误,就会弹出一个vue的应用窗口,说明准备工作已经完成; 4. 如果需要修改桌面应用界面或窗口之类的一些配置,则需要在package.json文...