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 相关文章推荐
JS自动适应的图片弹窗实例
Jun 29 Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
Jan 26 Javascript
在JavaScript应用中实现延迟加载的方法
Jun 25 Javascript
JS中的hasOwnProperty()和isPrototypeOf()属性实例详解
Aug 11 Javascript
jQuery的ready方法实现原理分析
Oct 26 Javascript
将json转换成struts参数的方法
Nov 08 Javascript
Bootstrap Table 搜索框和查询功能
Nov 30 Javascript
Vue中用props给data赋初始值遇到的问题解决
Nov 27 Javascript
Vue.js标签页组件使用方法详解
Oct 19 Javascript
解决vue-cli项目开发运行时内存暴涨卡死电脑问题
Oct 29 Javascript
微信小程序手动添加收货地址省市区联动
May 18 Javascript
js实现贪吃蛇小游戏(加墙)
Jul 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
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
2008/03/28 PHP
php之curl实现http与https请求的方法
2014/10/21 PHP
use jscript List Installed Software
2007/06/11 Javascript
运用jquery实现table单双行不同显示并能单行选中
2009/07/25 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
JavaScript实现的图像模糊算法代码分享
2014/04/22 Javascript
javascript动态设置样式style实例分析
2015/05/13 Javascript
js实现带农历和八字等信息的日历特效
2016/05/16 Javascript
基于jQuery实现淡入淡出效果轮播图
2020/07/31 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
jQuery 如何实现一个滑动按钮开关
2016/12/01 Javascript
Angular2学习笔记——详解路由器模型(Router)
2016/12/02 Javascript
JavaScript仿支付宝6位数字密码输入框
2016/12/29 Javascript
用原生js做单页应用
2017/01/17 Javascript
jQuery加密密码到cookie的实现代码
2017/04/18 jQuery
vue-router实现组件间的跳转(参数传递)
2017/11/07 Javascript
vue 组件内获取actions的response方式
2019/11/08 Javascript
JS 遍历 json 和 JQuery 遍历json操作完整示例
2019/11/11 jQuery
[01:14:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Orenda
2014/05/22 DOTA
用python实现的去除win下文本文件头部BOM的代码
2013/02/10 Python
python3生成随机数实例
2014/10/20 Python
python 排序算法总结及实例详解
2016/09/28 Python
python3实现TCP协议的简单服务器和客户端案例(分享)
2017/06/14 Python
python的pandas工具包,保存.csv文件时不要表头的实例
2018/06/14 Python
Anaconda下配置python+opencv+contribx的实例讲解
2018/08/06 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
2019/07/03 Python
Django如何批量创建Model
2020/09/01 Python
Django-silk性能测试工具安装及使用解析
2020/11/28 Python
如何编写python的daemon程序
2021/01/07 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
2021/01/12 Python
编写一个类体现构造,公有,私有方法,静态,私有变量
2013/08/10 面试题
学前班教师的自我鉴定
2013/12/05 职场文书
大学生村官心得体会范文
2014/01/04 职场文书
新年抽奖获奖感言
2014/03/02 职场文书
汽车机电维修工求职信
2014/09/30 职场文书
python可视化大屏库big_screen示例详解
2021/11/23 Python