AngularJS变量插入另一个不是复制值

时间:2018-02-01 09:53:42

标签: javascript angularjs

我有一个有趣的问题。

App.controller('ABCController', function() {
   $scope.valueA = 'abcd';
   var tmp = $scope.valueA;
   /* Do some actions with tmp */
   tmp = tmp.replace('a', 'bc');
   tmp = tmp.split('b');
   ...

   console.log(tmp);
   console.log($scope.valueA);
}

console.log的结果显示更新的tmp,但是,$ scope.valueA也被更新,这与tmp相同。

这不是我的预期。在" var tmp = $ scope.valueA"子句,angular提供$ scope.valueA的指针?你以前遇到过这个问题吗?

2 个答案:

答案 0 :(得分:1)

您可以使用var tmp = angular.copy(value);

在您的情况下,tmpvalue都指向内存中的相同位置。因此tmp中的任何更改都会导致value发生变化。 tmpvalue都拥有相同的实例,任何更新或更改都会反映在两个变量上。

答案 1 :(得分:1)

试试这个

INSERT INTO [Main_Code] (Id) --Mention other column
VALUES(FORMAT(1,'000#')) --Mention other values