前端没有数据库的概念,不能永久保存, 那么前端数据应该怎么管理呢。

1、 原始方法

直接在view中定义要使用的数据, 然后传值显示。

let data = ['test','test'];

{ data[0] }

//借助js框架将data可以传递到html中

{ data[1] }

//借助js框架将data可以传递到html中

2、 前端动态管理数据

在view中初始化数据, 也相当于是在view中定义要使用的数据

Function (name) {

return this.name = name;

};

function init() {

let initData1 = new Function('test1');

let initData2 = new Function('test2');

return initData = [initData1, initData2];

};

init();

{ initData[0]

//借助js框架将data可以传递到html中

{ initData[1]

//借助js框架将data可以传递到html中

通过函数来生成数据的好处, 方便数据的处理。

比如通过点击事件想在添加一个数据, 则可以通过js调用函数, 生成一个新数据,

那么怎样将生成的新数据传递给html呢???

以前的方法:

前端要想更新页面数据, 必须重新请求后台, 获取新数据,然后刷新页面。

js直接操作dom,修改dom值。

可是如果页面需要更新的地方太多, 直接通过js操作dom修改dom值, 会惨不忍睹。

{ initDataType }

{ initDataType.type }
{ initDataType.name }
{ initDataType.id }

对于上面这样的情况,则每个dom都要处理的话, 页面负担重, 代码上也会很麻烦。

现在的方法:

因为这些dom的数据都是有关联性的, 更新了initDataType这个数据, 可以指定更新某个具体的dom以及这个dom的子dom。

(riotjs的例子)[https://github.com/zhangchch/...]

这个例子中,就是通过js初始化数据,然后通过js事件,更新数据,

更新数据后, 指定更新某个组件(只是更新这个组件,不会影响其他组件,也不会更新整个页面),同时也会更新这个组件的子组件。

那么这个过程中数据是怎么管理的呢?

添加course或者添加student或者添加student

course.tag 这个组件的数据存储在courseList,studentsList这两个数组中。

先初始化两个数组的数据。

当通过某个事件改变这两个数组的数据的时候, 比如courseList添加想添加一个元素。

某个地方点击添加courseList, 携带添加的值, 触发添加函数添加一个courseList元素,

然后将这个添加的courseList元素放入courseList数组中, 最后更新这个组件。

也就是说通过操作courseList,studentsList这两个数组,来管理数据的。(更新相应组件)

student取消订阅某个course或者添加订阅某个course

student-item组件中,通过取消订阅某个course事件,

哪个学生取消哪个订阅,

直接在当前学生组件中, 取消订阅某个course, 同时触发对应的course组件, 消除这个student。

这个做法是在具体的两个对应的组件中修改数据,然后各自更新自己的组件。

对总的courseList,studentsList没有任何操作,也就是说courseList,studentsList没有发生变化。

这个做法是点对点的操作。

redux的思想:student取消订阅某个course, 去更新courseList,studentsList, 然后更新course.tag 这个组件,自动去刷新子组件。

某个course发布消息通知所有订阅了这个course的学生

这个也是点到点的数据操作, course-item组件中发布某个消息, 携带学生,消息等参数, 传递给student-item, 然后各自更新自己的组件。

HTML前端数据管理,前端数据管理相关推荐

  1. GMTC 大前端时代前端监控的最佳实践

    摘要: 今天我分享的内容分成三个部分: 第一部分是"大前端时代前端监控新的变化", 讲述这些年来,前端监控一些新的视角以及最前沿的一些思考. 第二部分"前端监控的最佳实践 ...

  2. 零基础不建议学前端_web前端开发零基础怎样入门-哈尔滨前端学习

    web前端开发零基础怎样入门-哈尔滨前端学习,俗话说,知己知彼,百战百胜.要想学好web前端,首先要了解什么是web前端,下面由小编来给大家介绍一下: 1什么是web? Web就是在Http协议基础之 ...

  3. 前端:前端安全编码规范

    前言 随着互联网高速的发展,信息安全已经成为企业重点关注焦点之一,而前端又是引发安全问题的高危据点,所以,作为一个前端开发人员,需要了解前端的安全问题,以及如何去预防.修复安全漏洞. 下面就以前端可能 ...

  4. 后端把Long类型的数据传给前端,前端可能会出现精度丢失的情况,以及解决方案...

    后端把Long类型的数据传给前端,前端可能会出现精度丢失的情况.例如:201511200001725439这样一个Long类型的整数,传给前端后会变成201511200001725440. 解决方法: ...

  5. GMTC 大前端时代前端监控的最佳实践 1

    摘要: 今天我分享的内容分成三个部分: 第一部分是"大前端时代前端监控新的变化", 讲述这些年来,前端监控一些新的视角以及最前沿的一些思考. 第二部分"前端监控的最佳实践 ...

  6. web标准 浏览器介绍 开发工具介绍 HTML介绍 HTML颜色介绍 规范 HTML结构详解 {前端之前端初识}...

    前端之前端初识 前端初识 本节目录 一 web标准 二 浏览器介绍 三 开发工具介绍 四 HTML介绍 五 HTML颜色介绍 六 规范 七 HTML结构详解 一 web标准 web准备介绍: 1.w3 ...

  7. 前端规范 - 前端项目开发规范

    0 前言 好好做业务,提高自己的工程能力 [强制] 1 开启eslint 根据团队的习惯,制定适合自己的rules 比如 no-console no-debugger可以关闭 [强制] 2 新项目使用 ...

  8. 前端基建——前端团队技术构建方向指引

    文章目录 前言 一.前端基建内容概括 1.1 前端规范文档 1.2 前端脚手架 1.3 前端项目模板 1.4 前端组件库 前言 在一个前端团队中,构建好前端团队的基建工程,一方面是在个人业绩上能有点亮 ...

  9. 前端介绍(前端的发展史)

    一.前端的演变 1.web1.0时代的网页制作 网页制作是web1.0时代的产物,那个时候的网页主要是静态网页,所谓的静态网页就是没有与用户进行交互而仅仅供读者浏览的网页,我们当时称为"牛皮 ...

  10. 【前端】前端及其技术栈

    文章目录 0)前端 1.什么是前端? 2.为什么需要前端? 前端的发展简史: 3.前端开发的类型 Web前端开发: 客户端(APP)开发: 4.前端与后端的交互 Ajax: Socket: *前端技术 ...

最新文章

  1. 解剖科大讯飞的AI“乌托邦”
  2. 中兴同美司法部和解协议获准:罚12亿美元
  3. 2.1.1 Speed Limit
  4. 白话Elasticsearch54-数据建模之通过【应用层join】或者【数据冗余】实现实现用户与博客的关联
  5. ArrayList和HashMap遍历比较
  6. Leetcode算法题(C语言)8--加一
  7. 数据绑定,vs2005
  8. 数家韩国银行出现网路钓鱼网站
  9. 高性能集群软件Keepalived之安装配置篇
  10. Xshell6和Xftp6 破解免安装版(亲测可用)
  11. Java地图坐标转换
  12. 程序员写代码都用什么样的笔记本?
  13. C语言二级操作题满分班(2015年9月方法篇)-叶冬冬-专题视频课程
  14. Oracle修改expired状态,Oracle数据库用户账号处于expired状态解决方法
  15. classes in c++
  16. Unity 3D游戏九:粒子光环
  17. 搭建一个全功能 GPS 追踪系统
  18. cgal + sfcgal
  19. 大专生JAVA的这条路
  20. 轻松让你了解朗锐慧康医疗仪器主板在监护仪的应用

热门文章

  1. 软件测试前景和发展方向
  2. win10计算机停止工作,Win10系统总提示Rundll32已停止工作的解决方法
  3. php拼音转为汉字方法二
  4. 顶级知识管理工具Evernote的GTD应用详细指南
  5. android 加载ae动画,Bodymovin:Bodymovin和Lottie:把AE动画转换成HTML5/Android/iOS原生动画...
  6. python吃鸡透视_绝地求生仅需这个设置!让你的电脑自带透视!吃鸡到手软
  7. 小程序点餐系统,外卖点餐系统源码
  8. kuangbin专题 专题1 简单搜索
  9. sqlserver 修改表字段长度(好记性不如烂笔头)
  10. Linux中vi命令详解