Q:

why do two ng-repeats share same scope?

I have two divs with ng-repeat of the same list. But when I change the content of one list item from first div, the second div receives the same value. I thought ng-repeats had isolated scopes? How can I archieve isolation of the ng-repeats?
edit:
"In most cases, directives and scopes interact but do not create new instances of scope. However, some directives, such as ng-controller and ng-repeat, create new child scopes and attach the child scope to the corresponding DOM element."
http://docs.angularjs.org/guide/scope
<div ng-controller="MyCtrl">
<button ng-click="newitem()">add item </button>
<div ng-repeat="item in list">
    <input ng-model="item.name" placeholder="Name*">
    <input ng-model="item.lastname" placeholder="Last name*">
    <input ng-model="item.username" placeholder="Username(Email)*">
</div>
        here is another div with ng-repeat of the same list. why do they share scope? 
        <br>
<div ng-repeat="item in list">
    <input ng-model="item.name" placeholder="Name*">
    <input ng-model="item.lastname" placeholder="Last name*">
    <input ng-model="item.username" placeholder="Username(Email)*">
</div>

js:
 var myApp = angular.module('myApp', []);
function MyCtrl($scope) {

$scope.list = [];

$scope.newitem = function () {
    $scope.list.push({name: "", lastname: "", username: ""});
}
}

http://jsfiddle.net/LZKq2/

A:

The new scopes are child scopes so although the scope is new, the properties on the scope are inherited from the parent. For example, if the parent has a list of items, then child scopes inherit the same list of items. Think of it as "pointers to the parent list." When you modify item "x" in the first list, item "x" is in a list on the scope. That list is inherited from the parent list, so modifying "item x" is the same as modifying that item in the parent list. Because the second list inherits from the parent, it also has the same reference to "item x" and therefore it will reflect the update. 
This is demonstrated in this fiddle: http://jsfiddle.net/jeremylikness/xdzxb/
Note both lists are affected when you edit an item, but the third list isn't because it was created as a copy:
$scope.listNew = $scope.list.slice(0);

You'll need to explicitly create copies if you want the repeats to act on different versions of the list.

