lodash 中 get
方法的行为似乎发生了变化。我刚刚将我的 lodash 版本从 3.10.1
更新为 4.17.15
.我在 Vue.js 应用程序中使用 lodash。在较新的版本中,get
方法似乎不再为同一对象返回相同的值。
我的 Vue 组件中有这一行:
import _ from 'lodash';
export default {
props: ['price'],
data () {
console.log(this.price.rrp_without_tax.value, _.get(this.price, 'rrp_without_tax.value'))
}
};
在较新的版本中,即使该值存在,我也未定义。在旧版本中,我得到了值。这是运行完全相同的代码仅更改已安装的 lodash 版本时的输出:
lodash@3.10.1
129.99 129.99
lodash@4.17.15
129.99 undefined
"price" 对象是一个反应式 Vue 对象,这意味着它的属性具有 getter。我想知道这是否部分导致了问题?
我已经在 Github 上发布了这个问题,但想在这里问一下是否有人有其他想法可能导致这种奇怪的行为。
哎呀,发现了问题。它与使用 lodash 插件和别名的 webpack 有关。它将我的导入映射到错误的文件。