Vue js方法返回未定义

塞尔吉奥

我有一个使用 VueX 的 Vue Js 应用程序。在我的一个组件中,我正在调用一种方法来截断一些文本。此 truncate 方法位于用于小型辅助函数的单独文件中。我试图截断的那段文本是从从数据库中提取的状态中提取的。

假设这是我状态下的用户对象:

userState: {
   name: "John Doe",
   bio: "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsum laborum amet, dolores molestiae voluptates ea animi fugit quo repudiandae facilis.",
   age: 35
}

在我的模板中,我这样称呼 bio:

<p>{{ truncate(userState.bio, 20, "...") }}</p>

在我的组件方法中,我有以下方法:

const helpers = require("@/utilities/helpers");
methods: {
  truncate(text, length, ending) {
     return helpers.truncateText(text, length, ending);
  }

}

我的助手文件中的方法是:

export const truncateText = (str, length, ending) => {
   if (length == null) {
      length = 100;
   }
   if (ending == null) {
      ending = '...';
   }
   if (str.length > length) {
      return str.substring(0, length - ending.length) + ending;
   } else {
      return str;
   }
}

我得到的消息是:

TypeError: Cannot read property 'length' of undefined

但奇怪的是,截断的文本在 dom 中呈现......即使控制台中出现错误。

任何想法这里发生了什么?

提前致谢!!

编辑:

我应该提到在user,bio没有 truncate 方法的情况下调用我完全没有错误并且 bio 呈现正常。

西多姆

很可能是初始状态userState.bioundefined,错误来自于初始渲染时数据未更新;尝试在您的条件中添加另一个字符串检查以消除错误:

if (str && str.length > length) {
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Vue.js 方法未定义

来自分类Dev

vue.js应用程序内的未定义方法不返回任何数据

来自分类Dev

vue.js应用程序内的未定义方法不返回任何数据

来自分类Dev

vue.js应用程序内的未定义方法不返回任何数据

来自分类Dev

vue.js属性或方法未定义

来自分类Dev

Vue.js使用方法未定义

来自分类Dev

组件中未定义 Vue.js 方法

来自分类Dev

Vue.js - 组件方法中未定义道具

来自分类Dev

Vue 插件错误 - 返回未定义

来自分类Dev

Vue js props 值未定义

来自分类Dev

Vue未定义

来自分类Dev

vue.js:属性或方法“”未定义,渲染错误:“TypeError:无法读取未定义的属性''”

来自分类Dev

如何避免Vue.JS / Axion返回未定义,而响应代码为200?

来自分类Dev

在拥抱服务器中咨询CORS之后,Vue.js返回未定义的数据

来自分类Dev

在vue-js-model中未定义$ model.show()返回模型

来自分类Dev

Firestore查询,其中返回未定义的快照(Vue.js / Firestore / Vuefire)

来自分类Dev

Vue + Axios Post 请求响应数据返回未定义

来自分类Dev

Vue.js组件数据变量在方法中未定义

来自分类Dev

Vue 属性未定义

来自分类Dev

Vue未定义Bootstrap-vue

来自分类Dev

Vue js $ vm0未定义

来自分类Dev

Laravel Vue.js未定义变量异常

来自分类Dev

窗口未定义,Vue平滑滚动-Nuxt.js

来自分类Dev

无法读取未定义的vue.js的属性“ getters”

来自分类Dev

从VueX商店计算的Vue.JS“未定义”

来自分类Dev

Vue JS无法读取未定义的属性

来自分类Dev

vue.js | TypeError:无法读取未定义的属性“ then”

来自分类Dev

Vue.js无法读取未定义的属性“ split”

来自分类Dev

组件中未定义的Vue.js道具

Related 相关文章

热门标签

归档