今天在项目中发现了一个题目:
1.功用需求
将图表的某一列设置成大众列,或许退回私有列。假如已经是大众列,只涌现“设置成私有列”,假如是私有列,只涌现“设置成大众列”,两个选项不能同时涌现。(注:大众列就是每次建表花样默许涌现这个列的一切数据。)
2.题目
我在数据库中建了一个表,用于存储公有列信息。图表的某一列设置成大众列时,写入这一列的数据到表中。
将设置大众列的功用放右击涌现的菜单里。每次右击时都邑实行一个函数完成此功用,函数中设置变量flag作为标记,flag的值从数据库中查询获得。
我用的是angular1.X,只管有壮大的数据绑定,然则但数据库里的数据变化时,它也没法自动赋值更新flag变量。
如许就涌现了一个题目:假如不自动更新,右击时实行函数,那末变量第一次的值还是上一次的值(由于查询状况是从数据库异步猎取然后赋值给变量),第二次的值才会一般
3.解决方案
(1)页面加载时就猎取状况并赋值。
这里的值就是从数据库内里得来的,所以一开始就是一般的。如许带来的题目是:纵然用户转变了状况,在不革新页面的情况下,状况仍坚持稳定
(2)在前端设置变量:当用户转变了状况时,在前端转变变量的值,并写回数据库。如许保证了能及时赋值而且数据库坚持同步