javascript - 从 Vue 模板中的助手调用函数

标签 javascript vue.js

在我的 Helper 函数中,我有 ConvertToSome 函数:

export function convertToSome(item) {
  item = item.toString();
  var qq = "qwqe";
  for(var i=0;i<10;i++)
  {
    item = item.split(i).join(qq[i]);
  }
  return item;
}

在我的 Vue 中,我有这样的组件:

import { convertToSome } from '../../../helpers';

当我想在组件中使用此函数时,出现此错误:

TypeError: "_vm.convertToSome is not a function"

如何在模板中使用此函数?

最佳答案

使用 import 语句 ( import { convertToSome } from '../../../helpers'; ),您可以在 Vue 实例中创建一个本地方法并在其中使用导入的函数:

  methods: {
    convertToSome(item) {
      // "convertToSome" inside is the imported function
      return convertToSome(item);
    }
  }

您可以调用this.convertToSome(item)在脚本中的任何位置调用将使用导入函数的 Vue 方法。

...或直接在您的模板中:

<div> {{ convertToSome(item) }} <div>

您还可以将导入的函数用作 filter (由@thanksd提议),这似乎更适合您的情况:

  filters: {
    convertToSome(item) {
      return convertToSome(item);
    }
  },

...您可以直接在模板中使用:

<div> {{ foo | convertToSome }} <div>

关于javascript - 从 Vue 模板中的助手调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52332993/

相关文章:

javascript - 如何在 Javascript 中连接数组值

javascript - 如何使用vue js自行检查组件中数据何时发生变化?

javascript - CSS 网格 - 计算列数 (javascript)

javascript - 如何获取用 JQuery 单击的行的表格单元格

javascript - 共享全局变量/存储在 Vue JS 中不起作用

vue.js - 如何将样式应用于组件中 div 中的按钮?

javascript - 在 v-select 中自定义项目文本

javascript - Angular 2 FormControl,验证方法参数传递

javascript - 使用 JavaScript 跟随 URL

javascript - Browserify+Backbone.js "ApplicationState"共享模块