最近在使用 angularjs 遇到一個修改陣列的問題。
HTML 程式碼如下
<span>title1</span>
<span>title2</span>
js 程式碼如下
$scope.title1 = "标题1"
$scope.title2 = "标题2"
$scope.arrTitle = [$scope.title1, $scope.title2];
//我试着修改
$scope.arrTitle[0] = "xx";
但是 $scope.title1 沒有修改? $scope.arrTitle[0] 印出來應該是 $scope.title1 的啊?請問大神們指點一下,該怎麼修改才行?謝謝。
扔个三星炸死你2017-07-05 11:06:58
$scope.arrTitle已經是一個新的變數了(陣列)
你修改$scope.arrTitle[0],只是修改其第一個元素的資料。
$scope.arrTitle = [$scope.title1, $scope.title2];只是給陣列賦初始值而已。
你希望改變$scope.arrTitle[0]時,$scope.title1也改變,那就用$scope.$watch吧
大家讲道理2017-07-05 11:06:58
其實可以把arrTitle聲明為一個物件
<span ng-bind="arrTitle.title1"></span>
<span ng-bind="arrTitle.title2"></span>
$scope.arrTitle = {
title1: "标题1",
title2: "标题2"
};
//修改
$scope.arrTitle.title1 = "xx";