>  Q&A  >  본문

javascript - AngularJS $scope的赋值类型

var app = angular.module('app', []);

app.controller('commonCtrl', function($scope){
    $scope.data.chart = [xxxxx]; 
    //$scope.data = [xxxxx];
})

//这2种在$scope上面不同的赋值方法有什么实际的区别呢?
PHP中文网PHP中文网2749일 전394

모든 응답(2)나는 대답할 것이다

  • ringa_lee

    ringa_lee2017-04-10 16:01:23

    第一个data是一个 对象
    第二个data只是一个变量算是angular当前scope下的 原始数据 。
    就好比

    window.a.data=[xxxx];
    window.a=[xxxx];

    至于为什么前者在angular中更常见
    主要是因为JS prototypal inheritance..ng-repeat, ng-switch, ng-view, ng-include, isolate scope等等会创建新的scope childScope = $scope.$new() 对于父scope上的原始数据类型 就没法实现双向绑定了..

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-10 16:01:23

    $scope.data.chart 是 data:{chart:[xxxxxx]}
    这个data里面还可以设置其他属性 如

    data:{
        chart:[xxxxxx],
        chart2:[yyyyyy],
        chart3:[zzzzzz]
    }
    

    $scope.data 是 data:[xxxxxx]
    这个data就只能是个[]数组了

    都是json数据

    회신하다
    0
  • 취소회신하다