为了账号安全,请及时绑定邮箱和手机立即绑定

将无效值传递给数据变量

将无效值传递给数据变量

PIPIONE 2022-07-21 21:21:25
抱歉我的英语不好,嗨,我是 Vue 的初学者,我有 iussue,无法解决。我从 API 加载有关艺术的数据(只是一个字典列表),然后我制作多数组(列表列表),当我保存原始 response.data 时,我的多数组在 vue 实例的数据变量中我得到了类似的数据,但我不更改源列表:在原始变量字段中 offsetX 和 offsetY 不得存在。场高也被打破了。那些字段也传入原始变量,我不知道为什么。我的应用程序代码:$(document).ready(function () {    var app = new Vue({        el: '#app',        data: {            raw: null,            info: null,            art_width: 252,            window_width: null,            window_height: null,        },        mounted() {            this.window_width = window.innerWidth            this.window_height = window.innerHeight             axios({                method: 'get',                url: '/content/art',                contentType: 'application/json'            })            .then(function (response) {                app.raw = response.data.items.slice();                // If i delete create_array from app, raw variable is normal                app.info = create_array(app.raw)            });            window.addEventListener('resize', () => {                if (app.raw !== null){                    app.info = create_array(app.raw)                    this.window_width = window.innerWidth                    this.window_height = window.innerHeight                 }            });        },        computed: {            arts_in_line () {                return parseInt((this.window_width - 24*2) / (this.art_width+10));            },            center_div_width ()  {                return this.arts_in_line * (this.art_width + 10)            }        }    })});function create_array(info) {    // Gets number of arts in line    arts_in_line = parseInt((window.innerWidth - 24*2) / (252+10));    // For return     var multi_array = [];    // Create mulri array    for (var index = 0; index < info.length; index = index + arts_in_line) {        multi_array.push(info.slice(index, index+arts_in_line));    }   
查看完整描述

1 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

而不是做


// Create mulri array

    for (var index = 0; index < info.length; index = index + arts_in_line) {

        multi_array.push(info.slice(index, index+arts_in_line));

    }

您可以简单地创建一个新数组multi_array并循环info添加您想要的内容multi_array。例如


    var multi_array = [];

    // Save vertical offsets

    var top_offset = []

    for (var row = 0; row < info.length; row ++) {

        for (var col = 0; col < info[row].length; col ++) {

             let scale = 252 / parseInt(info[row][col]['width']);


             const temp = {

                id: info[row][col]['id'],

                // Additional values you want

                height: (parseInt(multi_array[row][col]['height']) * scale) + 'px'

             }


             multi_array[row][col] = temp

        }

    }


    return multi_array;

这样,您可以在新数组中添加和排除您想要的任何键。


查看完整回答
反对 回复 2022-07-21
  • 1 回答
  • 0 关注
  • 50 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信