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 相关文章推荐
几款极品的javascript压缩混淆工具
May 16 Javascript
js中根据字数截取字符串,不能截断url
Jan 12 Javascript
jQuery 全选/反选以及单击行改变背景色实例
Jul 02 Javascript
javascript日期验证之输入日期大于等于当前日期
Dec 13 Javascript
JavaScript操作 url 中 search 部分方法函数
Jun 15 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
Jul 07 Javascript
jQuery插件Echarts实现的双轴图效果示例【附demo源码下载】
Mar 04 Javascript
vue实现点击当前标签高亮效果【推荐】
Jun 22 Javascript
PostgreSQL Node.js实现函数计算方法示例
Feb 12 Javascript
详解vue 在移动端体验上的优化解决方案
May 20 Javascript
vue修饰符.capture和.self的区别
Apr 22 Vue.js
Vue OpenLayer 为地图绘制风场效果
Apr 24 Vue.js
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
一个ORACLE分页程序,挺实用的.
2006/10/09 PHP
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
2007/09/02 PHP
php引用传值实例详解学习
2013/11/06 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
php+xml实现在线英文词典之添加词条的方法
2015/01/23 PHP
PHP的mysqli_ssl_set()函数讲解
2019/01/23 PHP
js页面跳转的常用方法整理
2013/10/18 Javascript
js特殊字符转义介绍
2013/11/05 Javascript
JavaScript中的值类型详细介绍
2014/12/29 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
2015/06/12 Javascript
Nodejs中的this详解
2016/03/26 NodeJs
基于javascript制作微博发布栏效果
2016/04/04 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
2016/08/24 Javascript
Vue数据驱动模拟实现5
2017/01/13 Javascript
高效的jQuery代码编写技巧总结
2017/02/22 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
tangram.js库实现js类的方式实例分析
2018/01/06 Javascript
vue脚手架搭建过程图解
2018/06/06 Javascript
javascript实现遮罩层动态效果实例
2019/05/14 Javascript
js canvas实现俄罗斯方块
2020/10/11 Javascript
antd的select下拉框因为数据量太大造成卡顿的解决方式
2020/10/31 Javascript
TensorFlow 实战之实现卷积神经网络的实例讲解
2018/02/26 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
2019/04/23 Python
对Python3之方法的覆盖与super函数详解
2019/06/26 Python
Python画图高斯分布的示例
2019/07/10 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
2020/01/21 Python
使用Python 自动生成 Word 文档的教程
2020/02/13 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
2020/07/31 Python
jupyter notebook oepncv 显示一张图像的实现
2020/04/24 Python
迪卡侬印度官网:购买所有体育用品
2017/06/24 全球购物
户外婚礼策划方案
2014/02/08 职场文书
小学生校园广播稿
2014/09/28 职场文书
技术股东合作协议书
2014/12/02 职场文书
2015年信息宣传工作总结
2015/05/26 职场文书
导游词之千岛湖
2019/09/23 职场文书
Android自定义scrollview实现回弹效果
2022/04/01 Java/Android