代码之家  ›  专栏  ›  技术社区  ›  Sadeghbayan

在Vue模板中从助手调用函数

  •  0
  • Sadeghbayan  · 技术社区  · 6 年前

    在我的助手函数中,我有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"
    

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

    1 回复  |  直到 6 年前
        1
  •  8
  •   Bennett Dams    6 年前

    与你的进口声明( import { convertToSome } from '../../../helpers';

      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>

        2
  •  1
  •   YKalinde    5 年前

    刚刚将导入的函数分配给如下的数据属性

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

    然后在数据部分;

    data(){
        return {
          convertToSome: convertToSome
        }
    }