【发布时间】:2020-05-27 09:31:30
【问题描述】:
我已经在全球范围内导入了 lodash:
window._ = require('lodash'); // app.js
当我在方法中使用它时,它工作正常。 但是当我尝试在模板中使用它时:
{{_.get(user, 'address.name')}}
显示未定义的错误:
Property or method "_" is not defined on the instance but referenced during render
为什么会这样?我可以重构创建一个新变量并在代码中分配值,它会起作用,但我也想直接在模板上使用它。
【问题讨论】:
-
你尝试改用 {{window._.get}} 吗?
-
我建议不要直接在模板中使用 lodash,而是使用计算属性或组件数据。您的计算属性可以简单地返回
_.get(this.user, 'address.name') -
计算属性在处理特定数据时非常有用,如果您想要动态方法,您可以创建一个使用 lodash 的方法,另一种解决方案是尝试使用某些 lodash 方法创建一个全局混合将相同的方法传递给应用中的每个组件,可能会派上用场。