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对象的三个方法小结
Jan 12 Javascript
读jQuery之十三 添加事件和删除事件的核心方法
Aug 23 Javascript
上传图片预览JS脚本 Input file图片预览的实现示例
Oct 23 Javascript
DOM基础教程之模型中的模型节点
Jan 19 Javascript
JS实现按比例缩放图片的方法(附C#版代码)
Dec 08 Javascript
JavaScript Math.round() 方法
Dec 18 Javascript
JS中innerHTML和pasteHTML的区别实例分析
Jun 22 Javascript
关于JS 预解释的相关理解
Jun 28 Javascript
bootstrap的工具提示实例代码
May 17 Javascript
javascript创建元素和删除元素实例小结
Jun 19 Javascript
jquery-ui 进度条功能示例【测试可用】
Jul 25 jQuery
JavaScript函数Call、Apply原理实例解析
Feb 17 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
可快速识别放射性物质-国外大神教你diy一个开放式辐射探测器
2020/03/12 无线电
php中随机显示图片的函数代码
2011/06/23 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
2013/09/28 PHP
CodeIgniter模板引擎使用实例
2014/07/15 PHP
php上传图片之时间戳命名(保存路径)
2014/08/15 PHP
[原创]php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法
2016/11/23 PHP
JavaScript 在网页上单击鼠标的地方显示层及关闭层
2012/12/30 Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
2013/11/19 Javascript
node.js中的fs.utimes方法使用说明
2014/12/15 Javascript
js改变embed标签src值的方法
2015/04/10 Javascript
NodeJs中的VM模块详解
2015/05/06 NodeJs
js仿淘宝评价评分功能
2017/02/28 Javascript
完美实现js焦点轮播效果(二)(图片可滚动)
2017/03/07 Javascript
socket.io学习教程之深入学习篇(三)
2017/04/29 Javascript
深入理解Webpack 中路径的配置
2017/06/17 Javascript
浅谈vuex 闲置状态重置方案
2018/01/04 Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
2018/03/02 Javascript
Vue项目中添加锁屏功能实现思路
2018/06/29 Javascript
layui 设置table 行的高度方法
2018/08/17 Javascript
[01:08:29]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第一场 1月9日
2021/03/11 DOTA
python中的随机函数random的用法示例
2018/01/27 Python
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
python3 实现验证码图片切割的方法
2018/12/07 Python
python中列表的切片与修改知识点总结
2019/07/23 Python
python日志模块logbook使用方法
2019/09/19 Python
在python shell中运行python文件的实现
2019/12/21 Python
python tkinter实现下载进度条及抖音视频去水印原理
2021/02/07 Python
世界排名第一的万圣节服装店:Spirit Halloween
2018/10/16 全球购物
印尼值得信赖的在线交易网站:Bukalapak
2019/03/11 全球购物
屈臣氏乌克兰:Watsons UA
2019/10/29 全球购物
小学教师师德承诺书
2014/05/23 职场文书
初中教师个人工作总结
2015/02/10 职场文书
2015年财务部工作总结
2015/04/10 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书
2016年世界人口日宣传活动总结
2016/04/05 职场文书
详解GaussDB for MySQL性能优化
2021/05/18 MySQL