首页  >  问答  >  正文

javascript - angularjs 中数组的修改问题

最近在使用 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 的啊?请问大神们指点一下,应该怎么修改才行?谢谢。

PHP中文网PHP中文网2663 天前917

全部回复(2)我来回复

  • 扔个三星炸死你

    扔个三星炸死你2017-07-05 11:06:58

    $scope.arrTitle已经是一个新的变量了(数组)

    你修改$scope.arrTitle[0],只是修改其第一个元素的数据。

    $scope.arrTitle = [$scope.title1, $scope.title2];只是给数组赋初始值而已。

    你希望改变$scope.arrTitle[0]时,$scope.title1也改变,那就用$scope.$watch吧

    回复
    0
  • 大家讲道理

    大家讲道理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";

    回复
    0
  • 取消回复