You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Vue.js的v-bind属性中直接调用原生JavaScript函数?

如何在Vue的v-bind中直接调用原生JavaScript函数

我来帮你搞定这个问题~ 你遇到的报错是因为Vue模板的表达式只能访问当前Vue实例作用域内的属性和方法,全局的原生JS函数默认不在这个作用域里,所以直接写getUrl()会找不到函数。

不过不用中转到Vue的data变量或methods方法,你可以通过以下方式直接调用原生全局函数:

方法:通过window对象访问全局函数

在浏览器环境中,全局定义的函数会自动挂载到window对象上。所以你只需要在模板里通过window来调用这个函数就行,修改对应的<a>标签代码如下:

<div>
  <a target="_blank" v-bind:href="window.getUrl()">goto URL2 using javascript function</a>
</div>

修改后的完整代码

HTML部分:

<div id="app">
  <div> The URL is: {{url}} </div>
  <div>
    <a target="_blank" v-bind:href="url">goto URL</a>
  </div>
  <div>
    <a target="_blank" v-bind:href="url2">goto URL2</a>
  </div>
  <div>
    <a target="_blank" v-bind:href="window.getUrl()">goto URL2 using javascript function</a>
  </div>
</div>

JavaScript部分:

function getUrl() {
  return 'http://www.amazon.com';
}
var vm = new Vue({
  el: '#app',
  data: {
    url: 'http://www.google.com',
    url2: getUrl()
  }
});

这样修改后,就能直接在v-bind中调用原生的getUrl()函数,无需额外映射到Vue的变量或方法了。

内容的提问来源于stack exchange,提问作者Edward Tanguay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:33:17