Тот же самый пример что и в посте 6, но написан он иначе.
во первых теперь есть модуль
вместо mainControler использована фабрика(factory)
А контроллеры объявляются в модуле
<!doctype html>
<html ng-app="myApp">
<head>
<style>
.bar{
width:50px;
background-color:#0F0;
margin-right:5px;
float:left;
}
</style>
<script src="http://code.angularjs.org/1.1.5/angular.min.js"></script>
<script language="javascript" type="text/javascript">
//Обьявим модуль
var myApp=angular.module('myApp', []);
//Используем фабрику
myApp.factory('Items',function(){
return [
{label:"Африка",val:25},
{label:"Европа",val:20}
]
})
//контролёр таблицы
myApp.controller('tableController',function($scope,Items){
$scope.items=Items;
//добавляет строку в таблицу
$scope.add=function(){
$scope.items.push({val:0});
};
// метод не позволяет выставить больше 100%
$scope.verife=function(item){
if (item.val>100) item.val=100;
if (item.val<0) item.val=0;
};
});
//контролёр графика
myApp.controller('chartController',function($scope,Items){
$scope.items=Items;
});
</script>
</head>
<body>
<div ng-controller="chartController">
<div style="height:310px;background-color:#000;padding:5px;">
<div class="bar" ng-repeat="item in items" style="height:{{item.val*3}}px; margin-top:{{300-item.val*3}}px;">
{{item.val}}%
</div>
</div>
</div>
<div ng-controller="tableController">
<table>
<tr ng-repeat="item in items">
<td>
<input ng-model="item.label"/></td> <td><input ng-model="item.val" ng-change="verife(item)"/>%
</td>
</tr>
</table>
<button ng-click="add()">Добавить запись </button>
</div>
</body>
</html>