Я пытаюсь назначить переменную области с переменной javascript в скрипте AngularJS и изменять значение нормальной переменной. Но я вижу, что на основе сделанного изменения в обычной переменной данные переменной Scoped изменяются автоматически. Как можно изменить данные Scoped Variable даже после изменения обычной переменной javascript?Как можно изменить значение переменной с областью в AngularJS
Am с помощью кнопки в HTML-код для вызова Assign()
У меня есть ниже AngularJS код
<script>
var app = angular.module('ExampleApp', ['ui.plot']);
app.controller('PlotCtrl', function ($scope)
{
'use strict';
$scope.sname = "Tttt";
$scope.dataset_v = {
"d0": { "id": 0, "name": "Housing", "value": 18 },
"d1": { "id": 1, "name": "Travel", "value": 31.08 },
"d2": { "id": 2, "name": "Restaurant", "value": 64 },
"d3": { "id": 3, "name": "Bank", "value": 3 },
"d4": { "id": 4, "name": "Movies", "value": 10 }
};
$scope.assign = function()
{
var dataset=$scope.dataset_v;
// Declare resulting empty array
var d = [];
// Get object keys and iterate over them
Object.keys(dataset).forEach(function (key)
{
// Get the value from the object
var value = dataset[key].value;
// Update values if in the range
if(value >= 10 && value <= 20) {
dataset[key].value = 7;
} else if(value > 20 && value <= 40) {
dataset[key].value = 8;
}
// Push the updated(or not) value in the array
d.push(dataset[key]);
});
alert(JSON.stringify(d, null, 4));
});
</script>
После внесения изменений на нормальной Js переменной т.е. набора данных и д ..
$ scope.dataset_v не должен изменяться, поэтому он должен быть оригинальным только как показано ниже, как мы можем это сделать?
$scope.dataset_v = {
"d0": { "id": 0, "name": "Housing", "value": 18 },
"d1": { "id": 1, "name": "Travel", "value": 31.08 },
"d2": { "id": 2, "name": "Restaurant", "value": 64 },
"d3": { "id": 3, "name": "Bank", "value": 3 },
"d4": { "id": 4, "name": "Movies", "value": 10 }
}
Am с помощью обычного переменных JavaScript (набор данных и г) для хранения измененных значений, чтобы размещать их на сервер для хранилища данных (внутренне).