Lodash "get" 方法在 Vue 应用程序中的不同版本中行为不一致



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 有关。它将我的导入映射到错误的文件。

相关内容

最新更新