search

Home  >  Q&A  >  body text

javascript - AngularJS $scope的赋值类型

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

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

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

reply all(2)I'll reply

  • 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上的原始数据类型 就没法实现双向绑定了..

    reply
    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数据

    reply
    0
  • Cancelreply