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 相关文章推荐
HTML 自动伸缩的表格Table js实现
Apr 01 Javascript
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
Oct 24 Javascript
js获取input长度并根据页面宽度设置其大小及居中对齐
Aug 22 Javascript
浅析BootStrap栅格系统
Jun 07 Javascript
浅谈angularjs module返回对象的坑(推荐)
Oct 21 Javascript
原生js验证简洁注册登录页面
Dec 17 Javascript
浅谈Vue.js应用的四种AJAX请求数据模式
Aug 30 Javascript
js 两数组去除重复数值的实例
Dec 06 Javascript
js点击时关闭该范围下拉菜单之外的菜单方法
Jan 11 Javascript
用ES6的class模仿Vue写一个双向绑定的示例代码
Apr 20 Javascript
jQuery中的$是什么意思及 $. 和 $().的区别
Apr 20 jQuery
原来JS还可以这样拆箱转换详解
Feb 01 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执行速度全攻略(上)
2006/10/09 PHP
PHP Error与Logging函数的深入理解
2013/06/03 PHP
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
PHP封装的简单连接MongoDB类示例
2019/02/13 PHP
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
LABjs、RequireJS、SeaJS的区别
2014/03/04 Javascript
了不起的node.js读书笔记之node的学习总结
2014/12/22 Javascript
js实现键盘控制DIV移动的方法
2015/01/10 Javascript
JavaScript类继承及实例化的方法
2015/07/25 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
AngularJS自定义指令之复制指令实现方法
2017/05/18 Javascript
在使用JSON格式处理数据时应该注意的问题小结
2017/05/20 Javascript
vue+axios+promise实际开发用法详解
2018/10/15 Javascript
vue2.0实现的tab标签切换效果(内容可自定义)示例
2019/02/11 Javascript
Angular 2使用路由自定义弹出组件toast操作示例
2019/05/10 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
jQuery实现评论模块
2020/08/19 jQuery
node.js文件的复制、创建文件夹等相关操作
2021/02/05 Javascript
使用python统计文件行数示例分享
2014/02/21 Python
python写xml文件的操作实例
2014/10/05 Python
python求pi的方法
2014/10/08 Python
python3 使用Opencv打开USB摄像头,配置1080P分辨率的操作
2019/12/11 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
python实现堆排序的实例讲解
2020/02/21 Python
Python使用pyyaml模块处理yaml数据
2020/04/14 Python
如何基于Django实现上下文章跳转
2020/09/16 Python
机械工程师求职自我评价
2013/09/23 职场文书
大学生大二自我鉴定
2013/10/28 职场文书
会计主管岗位职责
2014/01/03 职场文书
网络编辑求职信
2014/04/30 职场文书
人事任命书范文
2014/06/04 职场文书
春节超市活动方案
2014/08/14 职场文书
2015年推广普通话演讲稿
2015/03/20 职场文书
优秀新员工事迹材料
2019/05/13 职场文书
python人工智能human learn绘图可创建机器学习模型
2021/11/23 Python
python数字图像处理之对比度与亮度调整示例
2022/06/28 Python