vue组件讲解(is属性的用法)模板标签替换操作


Posted in Javascript onSeptember 04, 2020

vue中is的属性引入是为了解决dom结构中对放入html的元素有限制的问题,譬如ul里面要接上li的标签,引入is的属性后,你完全可以写成这样

<div class="language-html">
  <ul> 
    <li is="row"></li> 
  </ul>
</div>

这样会保证dom结构在浏览器的正常渲染,尽量避免在不正确的结构中直接使用组件

<script>
  Vue.component('row', {
    template: '<li>this is a row</li>'
  })
</script>

vue组件讲解(is属性的用法)模板标签替换操作

或另一种用法如图:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>动态组件与v-once指令</title>
 <script src="./vue.js"></script>
</head>
<body>
 <div id="app">
 <component :is="type"></component>
 <!-- <child-one v-if="type==='child-one'"></child-one>
 <child-two v-if="type==='child-two'"></child-two> -->
 <button @click="handleBtnClick">change</button>
 </div>
 <script>
 Vue.component("childOne", {
  template: "<div>child one</div>"
 });
 Vue.component("childTwo", {
  template: "<div>child two</div>"
 });
 var vm = new Vue({
  el:"#app",
  data: {
  type: "child-one"
  },
  methods: {
  handleBtnClick: function(){
   this.type = (this.type==="child-one" ? "child-two" : "child-one")
  }
  }
 })
 </script>
</body>
</html>

补充知识:vue如何从外部修改组件内部的变量的值

1、首先是如何给你定义的变量拿到数据:

这里我自己用的是vuex:

首先在你项目的src文件夹下创建这么一个目录:

vue组件讲解(is属性的用法)模板标签替换操作

之后就要在index.js中将homedatas.js(拿数据的js)共享出去,使页面能拿到数据,

以下是index.js的代码:

vue组件讲解(is属性的用法)模板标签替换操作

随后就是在homedatas中获取数据了,以下是homedatas.js代码:

vue组件讲解(is属性的用法)模板标签替换操作

以上就是获取数据的步骤,之后就是在页面中拿到这个获取到的数据:

首当其冲不可少的就是引用,引用vuex和引用组件:

vue组件讲解(is属性的用法)模板标签替换操作

之后在页面的jascript中的export default中定义组件,获取数据:

vue组件讲解(is属性的用法)模板标签替换操作

用这个方式在页面中引用组件,然后再自定义标签中将数据传递给组件:

vue组件讲解(is属性的用法)模板标签替换操作

2、子组件中获取父组件传递过来的数据:

props中定义属性,这是之前在页面自定义标签中设置的三个属性,分别控制组件中的不同部分,定义每个属性的类型、默认值以及测试函数,注意,测试函数一定要return一个值,不然页面会报错,测试函数的参数就是传递过来的值:

vue组件讲解(is属性的用法)模板标签替换操作

scrolldatas是一个数组,之后便是循环遍历这个数组中的元素,数组中的值就能展示在页面了,页面元素会随着数组元素的改变而改变:

vue组件讲解(is属性的用法)模板标签替换操作

之后就是其他两个变量怎么在组建中引用了:

首先我要在测试函数中判断一下,这个传进来的值符合不符合要求,如果不符合,那就不执行测试函数,就是默认值,如果符合要求,执行函数,并在函数中改变默认值,赋值给相应自定义变量:

vue组件讲解(is属性的用法)模板标签替换操作

之后就是调用函数,调用函数中传入参数,这个参数现在的值不是最开始var的初始值,而是后来测试函数中因为符合测试函数的条件后来赋给的值(因为window.onload直到页面加载才会执行):

vue组件讲解(is属性的用法)模板标签替换操作

之后就要在需要用到这个变量的函数中传一个参数(speed,这个speed的值就是上面changespeed的值):

vue组件讲解(is属性的用法)模板标签替换操作

所以经过一会说那个的操作,只要在获取数据的地方修改值,页面效果就会随之改变,不需要再组件中修改任何东西:

vue组件讲解(is属性的用法)模板标签替换操作

以上这篇vue组件讲解(is属性的用法)模板标签替换操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
强制设为首页代码
Jun 19 Javascript
jquery中ajax学习笔记3
Oct 16 Javascript
JS实现的最简Table选项卡效果
Oct 14 Javascript
JavaScript函数中关于valueOf和toString的理解
Jun 14 Javascript
Vuejs仿网易云音乐实现听歌及搜索功能
Mar 30 Javascript
基于AngularJS的简单使用详解
Sep 10 Javascript
JS实现简单的星期格式转换功能示例
Jul 23 Javascript
angularJs在多个控制器中共享服务数据的方法
Sep 30 Javascript
vue-cli系列之vue-cli-service整体架构浅析
Jan 14 Javascript
vue服务端渲染操作简单入门实例分析
Aug 28 Javascript
Element PageHeader页头的使用方法
Jul 26 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
Oct 31 Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
Sep 04 #Javascript
Vue中component标签解决项目组件化操作
Sep 04 #Javascript
JS数组转字符串实现方法解析
Sep 04 #Javascript
v-slot和slot、slot-scope之间相互替换实例
Sep 04 #Javascript
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
Sep 04 #Javascript
解决vue scoped scss 无效的问题
Sep 04 #Javascript
vue-admin-template配置快捷导航的代码(标签导航栏)
Sep 04 #Javascript
You might like
php 连接mssql数据库 初学php笔记
2010/03/01 PHP
destoon调用企业会员公司形象图片的实现方法
2014/08/21 PHP
WordPress后台中实现图片上传功能的实例讲解
2016/01/11 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
13个绚丽的Jquery 界面设计网站推荐
2010/09/28 Javascript
无阻塞加载脚本分析[全]
2011/01/20 Javascript
jquery和ajax的关系详细介绍
2013/11/29 Javascript
javaScript中的this示例学习详解及工作原理
2014/01/13 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
javascript三元运算符用法实例
2015/04/16 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
HTML5基于Tomcat 7.0实现WebSocket连接并实现简单的实时聊天
2016/10/31 Javascript
图文详解Javascript中的上下文和作用域
2017/02/15 Javascript
Three.JS实现三维场景
2018/12/30 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
2019/06/11 Javascript
JS+html5实现异步上传图片显示上传文件进度条功能示例
2019/11/09 Javascript
Vue-cli4 配置 element-ui 按需引入操作
2020/09/11 Javascript
用Pygal绘制直方图代码示例
2017/12/07 Python
windows下pycharm安装、创建文件、配置默认模板
2018/07/31 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
Python任务自动化工具tox使用教程
2020/03/17 Python
python实现录制全屏和选择区域录屏功能
2021/02/05 Python
CSS3 实现弹跳的小球动画
2020/10/26 HTML / CSS
全球最大的瓷器、水晶和银器零售商:Replacements
2020/06/15 全球购物
中学生班主任评语
2014/01/30 职场文书
四年级下册教学反思
2014/02/01 职场文书
材料加工工程求职信
2014/02/19 职场文书
《桥》教学反思
2014/04/09 职场文书
高中课前三分钟演讲稿
2014/09/13 职场文书
党员个人对照检查材料范文
2014/09/24 职场文书
党员个人对照检查材料
2014/10/01 职场文书
党校毕业个人总结
2015/02/28 职场文书
学校党支部公开承诺书
2015/04/30 职场文书
2015年预算员工作总结
2015/05/14 职场文书
Java 实现限流器处理Rest接口请求详解流程
2021/11/02 Java/Android
Nginx如何配置根据路径转发详解
2022/07/23 Servers