V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  Ccbeango  ›  全部回复第 9 页 / 共 10 页
回复总数  194
1  2  3  4  5  6  7  8  9  10  
❮ ❯
2023 年 1 月 28 日
回复了 zhoudaiyu 创建的主题 › 职场话题 › 大家今天开工收到啥礼物(钱)了?
发了个红包,我以为是 100 ,拆开一看,16 块
2023 年 1 月 18 日
回复了 xinc 创建的主题 › 分享发现 › 血的教训,赶火车一定要趁早,发车车票不退
改签吧,火车站里一下呆的够够的
2023 年 1 月 18 日
回复了 OrangeSinglee 创建的主题 › 杭州 › 过年了,又面临催婚了。
不催你结婚也会催别的,平常心
2023 年 1 月 12 日
回复了 overthemoon 创建的主题 › 问与答 › 相亲送女孩子什么见面礼好
啊?还要送东西啊 吃个饭就行了
2023 年 1 月 11 日
回复了 mifafaovo 创建的主题 › 职场话题 › 同事每天疯狂摸鱼不在工位,应该怎么看待?
去给领导打个小报告呗
节哀
2022 年 9 月 27 日
回复了 janda 创建的主题 › 职场话题 › 昨天下午突然被裁了,赔偿没谈拢,这周继续上班谈
分期就是个坑,到头来又要仲裁,直接 n+1
2022 年 7 月 13 日
回复了 baiyaoqiang 创建的主题 › 程序员 › 接朋友的外包项目,需要注意什么
出力不讨好的事儿还是少做
然后你把人家 pass 了?
几年前还能上车,现在培训出来不好找了。
2022 年 7 月 6 日
回复了 stevenshum 创建的主题 › 广州 › 色弱换驾驶证好麻烦
不会吧?我是色弱,换证的时候直接跟医生说了,看了看色谱图也过了。只要不是色盲就 OK
2022 年 6 月 30 日
回复了 fiypig 创建的主题 › 随想 › 说真的,单身万岁
@fiypig 我有对象后只能周五或周六玩两三个小时,经常玩会闹矛盾。不是一个人的时候了,有利有弊吧
2022 年 6 月 30 日
回复了 WarmedBeer 创建的主题 › 职场话题 › 如何看待公司领导要求你成长这件事
看标题我以为是它强行要求你跟他媳妇儿成长。
别愣着啊,赶紧提桶跑路
2022 年 6 月 30 日
回复了 fiypig 创建的主题 › 随想 › 说真的,单身万岁
有画面了,游戏没得玩。
2022 年 6 月 29 日
回复了 userKamtao 创建的主题 › 程序员 › 有没有一起维护组件库的兄弟
牛的
2022 年 6 月 27 日
回复了 OkabeRintaro 创建的主题 › 问与答 › [前端开发] 如何仿照下面这种布局和滑动效果?
楼上老哥给你提示了啊 有 sourcemap
打开控制台,点 sources -> 点 page -> 点 webpack:// 可以看到源码
2022 年 6 月 23 日
回复了 chevalier 创建的主题 › macOS › Markdown 笔记,图片怎么管理?
2022 年 6 月 23 日
回复了 allzc 创建的主题 › Vue.js › vue 局部注册插件可行?
可以实现。文档中也说了,插件通常用来为 Vue 添加全局功能。所以,当然也可以实现局部的。
插件功能见文档: https://cn.vuejs.org/v2/guide/plugins.html
我只用了 Vue2 做了一种测试,添加 Vue 实例方法,通过把它们添加到 Vue.prototype 上实现。

在 Vue 中注册插件时通过 Vue.use()进行注册。创建子组件时,可以通过 Vue.extend()来创建 Vue 的子构造函数,内部其实时通过寄生式组合继承实现的。那么,首先通过 Vue.extend()来创建子组件,再通过子组件调用 use 方法就能实现局部注册。

如下:
<html>
<head>
<title>Hello Vue</title>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script>
</head>
<body>
<div id="app"></div>
<script>
let A = Vue.extend({
template: '<div @click="test">{{msg}}</div>',
data() {
return {
msg: '我是孙子组件,点击我触发局部注册的方法$myTest'
}
},
methods: {
test() {
this.$myTest()
}
}
})

A.use({
install(Vue, options) {
Vue.prototype.$myTest = function() {
console.log('myTest...')
}
}
})

let childComp = {
template: '<div>{{msg}}<A/></div>',
components: {
A
},
props: {
info: String
},
data() {
return {
msg: '我是子组件'
}
},
created() {
console.log('child created')
},
mounted() {
console.log('child mounted')
}
}

Vue.mixin({
data () {
return {
hello: 'world'
}
},
created() {
console.log('mixin parent created')
}
})

let app = new Vue({
el: '#app',
template: `<div><h1 @click="test">{{msg}}</h1><childComp/></div>`,
data: {
msg: '我是父组件,点我会报错找不到'
},
components: {
childComp
},
methods: {
test() {
this.$myTest()
}
}
})
</script>
</body>
</html>
1  2  3  4  5  6  7  8  9  10  
❮ ❯
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2339 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 49ms · UTC 11:26 · PVG 19:26 · LAX 04:26 · JFK 07:26
♥ Do have faith in what you're doing.