0
私はこのコードを持っている:角度省デフォルトの配列
$scope.DefaultSidebarLinks = [
{
"Link":"/home",
"Title":"Home",
"Icon":"fa-home"
}
];
$scope.SidebarLinks = $scope.DefaultSidebarLinks;
$scope.addSidebarLink = function(link,title,icon,resetFirst){
var element = {"Link":link,"Title":title,"Icon":icon};
if(resetFirst)
{
$scope.SidebarLinks = $scope.DefaultSidebarLinks;
$scope.SidebarLinks.push(element);
}
else
$scope.SidebarLinks.push(element);
}
主な問題は、私はSidebarLinksに新しい要素を押すと、それはDefaultSidebarLinksでも、それをプッシュすることです。
私がしようとしているのは、サイドバーリンクが尋ねられたらリセットし、この特定の要素をこのローカル変数だけにプッシュすることです。
$scope.SidebarLinks = $scope.DefaultSidebarLinks;
同じ配列の2人の異なる名前同じすなわち二つの配列を作成している:
'$ scope.SidebarLinks = $ scope.DefaultSidebarLinks'はコピーを作成しません**。両方の名前はまったく同じ配列オブジェクトを参照します。 – jonrsharpe
代わりに 'angular.copy($ scope.DefaultSideBarLink)'を使うことができます – devqon