AngularJS数据绑定对象属性与原始对象



我正在读一本关于angularjs的书,在关于"数据绑定最佳实践"的章节中写道,最好绑定到对象属性,而不是原始对象,但没有解释为什么它更好。

我想知道第一个示例的优势是什么

$scope.clock = [];
let updateClock = () => {
    $scope.clock.now = new Date();
    $timeout(() => {
        updateClock();
    }, 1000);
};

和绑定:

{{ clock.now }}

与。

let updateClock = () => {
    $scope.now = new Date();
    $timeout(() => {
        updateClock();
    }, 1000);
};

和绑定:

{{ now }}

与原始对象相比,使用对象属性的基本优点是:

  • 将多个原始属性分组到一个对象中
  • 而原始对象将用作 solo 属性,使其成为本身的对象

查看以下对象的多个属性的代码片段,其中有两个属性(现在、下一个(与一个对象(时钟(相关联:

angular.module("app", []).controller("ctrl", function($scope, $timeout) {
  $scope.clock = {};
  let updateClock = () => {
    var dt = new Date();
    $scope.clock.now = new Date();
    $scope.clock.next = new Date(dt.setHours(dt.getHours() + 1));
    $timeout(() => {
      updateClock();
    }, 1000);
  };
  updateClock();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<body ng-app="app" ng-controller="ctrl">
  <p>Clock Now : {{clock.now}}</p>
  <p>Clock Now + 1 hour : {{clock.next}}</p>
</body>

最新更新