スコープの基礎的な指摘になるかもしれませんが、以下の事象が起きます。

app.controller("test", function($scope){
    var options = $scope.nav.getCurrentPage().options;
    $scope.item = options.item;  // {str:'test',int:'000000'}

    $scope.click = function() {
        var data = $scope.item;
        console.log($scope.item.int);  // 000000
        data.int = "123456";
        console.log($scope.item.int);  // 123456

以上のように、変数dataにバインドした$scopeを代入後、変数dataの値を変更した筈ですが、$scope自体の値も変わっています。
これは仕様なんでしょうか。
また、回避する手段はあるのでしょうか。
もしかしたらスコープの基礎的な部分かもしれませんが、分かる方が居ましたら回答お願いします。