我试图通过制作这样的代码来使用lodash中的_.sortBy方法:
import _sortBy from 'lodash';
var questions = [.......some array....];
questions = _sortBy(questions, 'position');
console.log(questions);
console.log(问题)的内容为空。我不知道为什么,我想我不知道如何从lodash加载_.sortBy。我试过这个:
questions = _sortBy._.sortBy(questions, 'position')
或
questions = _.sortBy(questions, 'position')
但是有"bundle.js:45504 Uncaught TypeError: Cannot read property 'sortBy' of undefined"
或"Uncaught TypeError: (0 , _jquery2.default)(...).sortable is not a function"
错误。我也阅读了这个页面:https://lodash.com/docs#sortBy
但我不知道如何加载和使用这个_.sortBy方法。请帮助.. :))
注意:如果这个问题非常简单,请注意愚蠢的问题
答案 0 :(得分:4)
在您的情况下,您有两种选择:
您可以导入整个集合:import _ from 'lodash';
然后您就可以像这样使用它:_.sortBy()
但是,您也可以导入特定功能。因此,重要的是导入整个lodash集合,最好只导入lodash的功能,特别是当你在生产中工作时。
所以你可以这样做:import sortBy from 'lodash/sortBy';
然后您就可以像这样使用它:sortBy()
答案 1 :(得分:2)
您可以使用大括号导入特定项目。
它如何运作?
_不会默认导出,因此使用如下所示会抛出错误。
import _ from lodash
然而,您可以使用以下代码
从_中导入所有内容import * as _ from 'lodash';
但是如果要导入特定功能或导出的任何内容,可以像下面的示例一样使用它
import {sortBy} from 'lodash';
var users = [
{ 'user': 'fred', 'age': 48 },
{ 'user': 'barney', 'age': 36 },
{ 'user': 'fred', 'age': 40 },
{ 'user': 'barney', 'age': 34 }
];
sortBy(users, function(o) { return o.user; });