问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

vue如何动态调用方法

发布网友 发布时间:2022-03-25 04:36

我来回答

2个回答

懂视网 时间:2022-03-25 08:58

vue自定义时长的方法:

  1、首先进入vue主页,然后找到右上角的设置;

  2、然后选择默认时长;

  3、最后选择需要拍摄的时长即可。

  Vue系列产品为3D自然环境的动画制作和渲染提供了一系列的解决方案。Vue系列有很多不同的产品,这是为了满足不同阶层的用户的需要:可以满足专业的制作工作室,同样也能满足3D自由艺术家。PEARSON EDUCATION是PEARSON旗下的从事教育和出版行业的机构。迄今,已为全球超过1亿人提供了培训,是教育、出版一体化领域的佼佼者。拥有PEARSON PRENTICE HALL、PEARSON LONGMAN 、PEARSON SCOTT FORESMAN等知名品牌,PEARSON EDUCATION将继续面向世界,利用各种媒介手段源源不断地提供高质量的读物、实用的评估工具和先进的教育服务。

  PEARSON VUE 则是PEARSON EDUCATION旗下的从事电子化考试服务的机构,它致力于依靠快捷的互联网,先进的计算机技术及优质的服务为你提供安全、可靠且实用的国际认证考试和安全职业执照及认证程序。其发展速度之迅猛,主要得益于IT技术的飞速发展、得益于IT认证浪潮的推动。

热心网友 时间:2022-03-25 06:06

通常我们会在组件里的 template 属性定义模板,或者是在 *.vue 文件里的 template 标签里写模板。但是有时候会需要动态生成模板的需求,例如让用户自定义组件模板,或者设置组件的布局。
例如要做一个类 select 的组件,用户传入 options 数据,通过 value prop 获取选中值,最基本的原型如下。
Vue.component('XSelect', {
template: `
<div class="select">
<input :value="value" readonly />
<div
class="option"
v-for="option in options"
@click="value = option.value">
<span v-text="option.label"></span>
</div>
</div>`,

props: ['value','options']
})

如果此时需要增加一个 API 支持让用户自定义 option 部分的模板。此处用 slot 并不能解决问题。
通过 $options.template 修改
通过打印组件对象可以获得一个信息,在 $options 里定义了一个 template 属性,写在 template 标签里的模板,最终编译后也会在 $options.template 里。通过文档的生命周期 可以得知,在 created 的时候, 实例已经结束解析选项, 但是还没有开始 DOM 编译 也就是说,如果用户通过 prop 的数据我们可以获得,但是模板其实还没有渲染成 DOM。经过测试,在 created 修改 this.$options.template 是可以改变最终生成的 DOM 的,同时也能拿到 props 的内容。
那么我们可以修改下代码,使其支持自定义模板
Vue.component('XSelect', {
props: [
'value',
'options',
{
name: 'template',
default:'<span v-text="option.label"></span>'
}
],

created() {
varoptionTpl =this.template

this.$options.template =`
<div class="select">
<input :value="value" readonly />
<div
class="option"
v-for="option in options"
@click="value = option.value">
${optionTpl}
</div>
</div>`
}
})

用户使用是就可以传入模板了
<x-select
:value.sync="value"
template="<span>标签: {{ option.label }}, 值: {{ option.value }}</span>"
:options="[
{value: 1, label: 'a'},
{value: 2, label: 'b'},
{value: 3, label: 'c'}
]">
</x-select>

可能存在的问题
我们知道 Vue 在内部帮我们做了许多优化,但是在这里可能会由于某些优化导致动态拼接的模板无法渲染成功。例如这里我们不使用 v-for 而是手工遍历 options 生成需要的 HTML
consttpl = options.map(opt =>`<div>${this.optionTpl}</div>`)

this.$options.template =`
<div class="select">
<input :value="value" readonly>
${tpl}
</div>`

这里会导致一个 BUG,如果一个页面有多个 x-select 组件,并且 options 长度不一样,会导致长的 options 的组件后面几个选项渲染不出来。究其原因是 Vue 会帮我们缓存模板编译结果。翻看代码可以找到 vue/src/instance/internal/lifecycle.js 里有做优化,同时提供的 _linkerCachable 本意是给 内联模板 使用。我们可以通过设置 this.$options._linkerCachable = false 达到我们的目的。
这样我们就可以开发让用户自定义布局的组件了,用户传入布局参数,通过手工拼接模板,设置了 _linkerCachable = false 也不会被缓存。
通过 $options.partials 动态添加 partial
使用 partials 也能达到添加自定义模板的目的,但是通常的做法是要全局注册 partial,这么做并不优雅。 vue-strap 就是这么做的。如果重名了会被覆盖(初次渲染不会,但是数据更新重新渲染 DOM 时就会被覆盖)。
通过文档我们知道可以在组件内部通过 partials 属性注册局部的 partial,因此自然而然也可以在 this.$options.partials 去动态添加了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 vue 自定义全局方法,在组件里面的使用介绍 老公给我开了亲密付,我付款时候怎么看不到亲密付的选项呢 支付宝的亲密付在哪里设置? 如何取消亲密付 微信亲属卡是什么,都有什么功能? 亲密付有没有被取消在哪里看 微信亲属卡支付范围有哪些? 微信亲密付额度不够怎么提 亲密付在哪里? 充电速度太慢了,要怎么办 黑鲨3s为什么关机充电不加? 手机充电速度慢怎么办? 手机充电速度特别慢该怎么解决? 小米黑鲨永别的充电器为什么很慢? 手机充电充得太慢怎么办? 手机充电慢怎么回事怎么解决? 黑鲨3pro怎么突然充电慢了 手机充电很慢怎么办? 为什么我黑鲨手机关机充电是快速充电,一开机充电就是慢速充电 充电充得太慢怎么办 vue中自定义指令是通过什么属性实现 vue.js 自定义属性 vue路由怎么自定义事件 vue 自定义标签 Vue.工程目录下设置自定义指令在哪设置 VUE DOM加载后执行自定义事件的方法 Vue2.x Todo之自定义指令实现自动聚焦的方法 创建Vue项目之前需要做哪些准备工作?Vue项目如何创建?指令是什么?并对指令解 vue中v-for怎么获取长度? vuejs的组件化开发中怎么自定义class覆盖原有样式? vue 中自定义指令改变data中的值 vue自定义指令,实现添加该指令可以将传入的数据进行拆分后求和的操作,比如[1,2,3],使用指令和为6? vue 每一条信息代表一个组件 vue 自定义v-model的组件 修饰符无效,需要改怎么做! 微信扫二维码黑屏怎么回事 微信扫码为什么是黑屏 微信付款码怎么变成黑色 iphone12微信扫码黑屏? 微信扫码打开是黑的什么也看不见为什么? 苹果微信扫码黑屏怎么回事