小编Vas*_*sco的帖子

为什么Vuejs在输入失去焦点之前不会更新模型

我的应用程序使用以下类型的数据:有些公司每个都有一个数据点列表.每个数据点都有一个类型,每个公司只能有一个每种类型的数据点.

+Company_1  
|  
|--Datapoint_1 : type_1  
|--Datapoint_2 : type_2  
|--Datapoint_3 : type_3  
|  
|  
+Company_2  
|  
|--Datapoint_4 : type_3  
|--Datapoint_5 : type_2  
|  
|+Company_3  
|  
|--Datapoint_6 : type_2  
...  
...  
Run Code Online (Sandbox Code Playgroud)

总共有大约1000个数据点和20个公司.该应用程序根据这些数据点计算分析,目标是允许用户操作这些数据点,以便查看给定方案中的结果.在任何给定时刻,都有一个"selected_company"和"selected_type",并且基于这两个选择,应该选择正确的数据点进行操作.

我意识到,如果"公司"变量和"数据点"属性是数组,则必须对所有项进行搜索才能找到正确的项.因此,我选择将它们作为对象:

companies = {
  '1' : {
    name : 'Company_1',
    datapoints : {
      'type_1' : { ... },
      'type_2' : { ... },
      'type_3' : { ... }
    }
  },
  '2' : {...},
  '3' : {...},
  .
  .
  .
}
Run Code Online (Sandbox Code Playgroud)

问题:

我有一个'datapoint'组件,我将数据点作为道具传递:

<datum-comp :datum="companies[selected_company].datapoints[selected_type]"></datum-comp>
Run Code Online (Sandbox Code Playgroud)

在这个组件中,我有一个输入,用于操作数据点的score属性:

<input v-model.number="datum.score" class="form-control">
Run Code Online (Sandbox Code Playgroud)

但是,这种输入表现出非常奇怪的行为.当我输入输入时,模型不会立即更新.相反,Vue似乎在等待我在更新模型之前从输入(onBlur)更改焦点. …

vue.js vuejs2

4
推荐指数
1
解决办法
3624
查看次数

标签 统计

vue.js ×1

vuejs2 ×1