没图片太单调,用啥图呢,思考片刻选择了这幅图
数据绑定的本质
实现数据绑定的本质就是Setter+change事件,前者Setter用于在数据模型变化时更新UI,后者change事件,用于在UI变化时更新数据模型,来看个大某:
Demo1
```js
// 数据模型
var data = {
text: 'Hello World'
};
// UI元素
var input = document.getElementById('input'),
label = document.getElementById('lbl');
// Setter
Object.defineProperty(data, 'tex
继续阅读 »
如果用 D3 来构建一个简单的散点图,我们需要创建一些圆点(circle)来展示你的数据。当你发现 D3 并没有提供内置的方法来同时创建多个 DOM 元素时,也许你会感到惊讶,但是,等等,为什么呢?
more
当然,你可以使用 append 方法来创建单个元素:
js
svg.append("circle")
.attr("cx", d.x)
.attr("cy", d.y)
.attr("r", 2.5);
这仅仅是一个圆点,我们需要的是一系列圆点,每个圆点代表一条数据。当然你可以用 for 循环来创建,但开始之前,请看看下面官方例子中的代码:
js
svg.selectAll("circle")
继续阅读 »
最近一直和某系统打交道,其中前端数据的处理,大多是 ajax 加 javascript 模板实现。这种方式于绑定数据给予了极大的灵活性。
曾经
曾经在前端页面处理 javascript 的数据绑定直接拼字符串,是这样实现的:
继续阅读 »
相信大家写过AngularJS的都会发现,很多人在处理表单的数据绑定时,都习惯性的把ng-model绑定在$scope的一个对象属性上,而不是直接绑定在scope上。比如说使用而不是。这是为什么呢?这样在controller里面岂不是写起来更复杂吗?每次访问的时候都要多“点”一下,为什么不直接绑在$scope上呢?其实这样写自然是有它的好处的,而且这种写法也是推荐的最佳实践,尤其是在处理嵌套scope的情形下,这样写是很有必要的。为了弄清楚这么写的原因,我们需要深入的研究一下AngularJS里scope的继承。
more
基于原型链的继承
AngularJS的官方文档里有这么一句话来描述scope:A "child scope
继续阅读 »
service
概述
后台运行,不可见,没有界面。(在activity中完成的事物,在服务中也可以完成)
优先级别高于activity
应用场景:eg:
1. 后台播放音乐
2. 后台下载应用
3. 记录GPS位置 监听某一特定的动作
4. 处理数据,处理当前不一定及时需要展现给用户的数据
5. 进入应用时加载本地资源(数据库等) 在后台操作提高交互性
6. 全家桶唤醒
7. ……
全家桶
生命周期
创建服务
要创建服务,您必须创建 Service 的子类(或使用它的一个现有子类)。在实现中,您需要重写一些回调方法,以处理服务生命周期的某些关键方面并提供一种机制将组件绑定到服务(如适用)。 应重写的最重要的回
继续阅读 »