AngularJS的数据双向绑定是怎么实现的

JavaScript016

AngularJS的数据双向绑定是怎么实现的,第1张

AngularJS中双向绑定的实现:

1、html中的写法:

首先使用ng-repeat将数据重复展示出来(item in datas),然后在关联的modal对话框中提供修改功能(将item的对应项使用ng-model绑在modal的form上)。

<div ng-repeat="item in data">

{{item.name}}

{{item.age}}

</div>

<a data-toggle="modal" data-target="#mySettingModal{{item.id}}" ng-click="fresh(item)">modify</a>

<div class="modal fade" id="mySettingModal{{item.id}}" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">

<div class="modal-dialog" style="z-index: 1050">

<form name="form">

<div class="form-group">

<label for="name" class="control-label">名称:</label>

<input type="text" class="form-control" id="name" ng-model="item.name" />

</div>

</form>

<button type="button" class="btn btn-default" data-dismiss="modal" ng-click="reset()">Close</button>

<button type="button" class="btn btn-primary" ng-click="updateSetting(item)">Save changes</button>

</div>

</div>

2、JS的实现写法:

$http.get("/").success(function(data) {

$scope.data = data

var interItem

$scope.fresh = function(item) {

interItem = item

console.log(interItem)

}

$scope.reset = function() {

console.log(interItem)

}

})

既然清楚了原理,那么,接下来进入正题——我知道了vue怎么安装,那么我怎么使用呢?

在告诉你基础用法之前,我还是要先告诉你一个情况。

可能要令你有点失望。vue主要是侧重于数据端的。他的目的就是渲染数据和在前端调整一下数据逻辑。

他不是像jquery那样让你用来做特技的。就算你要做特技。你也应该通过css3/canvas而不是dom。

所谓的双向绑定,你可以理解就是把view。(你还不清楚mvc的话,请看第一章)

和model绑定到一起。说白了,就是你js中的绑定值变了。你dom中的内容就跟着一块变了。

vue是通过解析{{文字..}}来生成内容的。后面绑定方法,输出内容的时候都会讲到。

列表输出使用 v-for,这些v开头加横杠的叫做命令

这些命令是可以自定义的。但是那都属于高级操作,我们不用它也完全足够支撑做一个大型项目了。

其实你回发现,这里无论是v-for或者是v-什么其他玩意

它都深刻的遵循了es6的语法。这里不就是一个典型的for in 循环吗。不过我们现在都用for of了。

你记住这个用法,它就长这样。

前后端分离开发的关键在于:后台只提供接口。

我们获得的数据多数情况下,仅仅是一个json,而mvvm的关键就再于解析数据在前端完成了。如果你了解jsp或者php你会了解,数据的解析在mvc中,

是由后端完成的,而html只负责显示。

所以,当你了解了数据绑定和渲染以后,你可以第一时间先把数据输出到页面了。

我们前端最厉害的地方不就是处理能看得见的东西吗?

Highcharts所有的图表除了饼图都有X轴和Y轴,默认情况下,x轴显示在图表的底部,y轴显示在左侧(多个y轴时可以是显示在左右两侧),通过chart.inverted = true 可以让x,y轴显示位置对调。

一、坐标轴组成部分 轴标题-Axis Title 坐标轴标题。

就可以了。