相关疑难解决方法(0)

使用webpack,ES6,ReactJS导入JavaScript文件和调用函数

试着做一些我认为会很简单的事情.我想导入一个现有的JavaScript库,然后调用它的函数.所以例如我想导入blah.js然后调用blah().

import React from 'react';
import {blah} from 'blah/js/blah.js';

class MyClass extends React.Component {
    constructor() {
        super();
    }

    componentDidMount() {
        window.addEventListener('resize', this.handleResize);
    }

    componentWillUnmount() {
        window.removeEventListener('resize', this.handleResize);
    }

    handleResize() {
        blah.blah();
    }

    render() {
          ....
    }
}

export default MyClass;
Run Code Online (Sandbox Code Playgroud)

只是想知道为了使这项工作我需要做些什么的神奇组合.也许我只是错过了重点.该示例给出错误"TypeError:_blah.blah未定义".

ecmascript-6 reactjs webpack

65
推荐指数
2
解决办法
9万
查看次数

在模板中,如何使用导入的函数?

从一个名为的外部文件中,utils.js我导出一个名为的函数todayYyyyMmDd

export const todayYyyyMmDd = () => new Intl.DateTimeFormat('fr-FR', {year: 'numeric', month: '2-digit', day: '2-digit'}).format(Date.now()).split('/').reverse().join('-');
Run Code Online (Sandbox Code Playgroud)

然后在我的组件中我导入这个函数:import { todayYyyyMmDd } from '@/utils';

我想todayYyyyMmDd直接在组件的模板中使用,如下所示:

<date-input
  :max="todayYyyyMmDd"
/>
Run Code Online (Sandbox Code Playgroud)

不起作用。相反,我必须使用中间计算属性:

today () {
  return todayYyyyMmDd();
},
Run Code Online (Sandbox Code Playgroud)

可以用,但是很难看。有什么办法可以直接在模板中使用导入的函数吗?

vue.js

7
推荐指数
1
解决办法
3167
查看次数

标签 统计

ecmascript-6 ×1

reactjs ×1

vue.js ×1

webpack ×1