vue.js - 自定义指令数据无法传递给 Vue 3 中的方法
问题描述
在我的 html 中,我引用了指令:v-init:url="myurlhere"
data() {
return {
currentPage: 1,
url: '',
news: '',
}
},
directives: {
init: {
mounted(el, binding) {
console.log(binding.value);
this.iterateUrlContents(binding.value)
},
}
},
methods: {
iterateUrlContents(url) {
console.log('url: ' + url);
console.log(binding.value)
显示了预期的结果,但是当我调用 iterateUrlContents 时,我得到以下信息:
执行指令挂钩期间未处理的错误
未捕获的类型错误:无法读取未定义的属性“iterateUrlContents”
而且我还发现,如果我尝试,this.url = binding.value
我会得到
未捕获的类型错误:无法设置未定义的属性“url”
为什么 binding.value 未定义,如何将这些信息传递给我的方法?
解决方案
如果你想访问组件实例,你需要通过binding.instance
Vue3 来完成。
推荐阅读
- mysql - 写一个查询来找出哪支球队赢得了最多的比赛
- javascript - 在控制台中逐行显示结果
- python - 解决“EOF 市场未找到错误”PyPDF2
- postgresql - 尝试为 GCP Postgres 添加 VPC 网络时出现“更新失败:发生未知错误”
- c# - 如何在 IdentityServer4 OIDC 质询中检索在 AuthenticationProperties 上设置的参数?
- c# - 将多个数据从列表视图插入 UWP 上的数据库
- linux - 如何使用 tee 获取 stdinput 和 stderror
- node.js - 使用 Redis 存储索引的最佳方法?
- angular - 我最近使用 npm install -g @angular/cli 命令安装了 angular。当我检查 angular 是否安装或未使用 ng-v cmd 时,没有显示任何内容
- go - go 版本 1.12 中的 'http.Client' 和 '&http.Client' 有什么区别