You need to enable JavaScript to run this app. Vue.js中如何逐行读取接口返回文本并完成列表渲染
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js中如何逐行读取接口返回文本并完成列表渲染

解决方法

核心逻辑是将接口返回的换行分隔纯文本,按行拆分后处理为数组,即可直接用于v-for循环渲染。

1. 修改请求回调逻辑

调整getRoomNames方法中then回调的处理代码,按换行拆分文本、过滤空行:

getRoomNames (event) {
  var room_textfile = 'https://api.example.com/room_types/'+this.room_types + '.php';

  axios.get(room_textfile)
    .then(response => {    
      // 按换行符拆分,同时兼容Windows(\r\n)和类Unix(\n)系统的换行格式
      let roomArr = response.data.split(/\r?\n/)
        // 去除每行首尾空白字符,过滤空行
        .map(line => line.trim())
        .filter(line => line !== '')
      this.single_rooms = roomArr;
    })
    .catch(e => {
      this.errors.push(e)
    });     
}

2. 优化渲染代码(可选)

建议给v-for添加唯一key属性,避免Vue渲染警告:

<div v-for="sr in single_rooms" :key="sr">
  {{sr}}
</div>

注意事项

确保你的PHP服务端正确解析PHP脚本,不会将<?php开头的代码段输出到响应内容中。如果确实存在PHP代码被输出的情况,可以在过滤逻辑中额外加规则,排除无效行即可。

内容的提问来源于stack exchange,提问作者Gandalf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.22 04:36:04