javascript - 将新数据添加到现有的scope-angularjs中

标签 javascript jquery angularjs

我已经开始学习 AngularJS,我正在尝试在按钮点击现有范围时插入新值。 我的页面中有一个按钮,每当我单击该按钮 $scope.options 方法触发时,需要将一些数据添加到作用域变量中才能在 ng-repeat 上使用它。

第一次直接点击添加,因为没有数据。 当我下次单击时,应在现有范围中添加新值。

这是我尝试过的,

$scope.options=function(options){           
    //$scope.datas=[];
    //$scope.datas.push(options);
    //$scope.datas = $scope.datas.concat(options)
    $scope.datas=options;
    console.log($scope.datas);          
}

第一次单击按钮时,我的范围如下所示,

$scope.datas=["IARZ1DS099","CATL0DS32","IARZ1DS13","IATL0DS099","CARZ1DS099"];

谁能告诉我该怎么做? 提前致谢!

最佳答案

这是因为您正在分配值$scope.datas=options;。您需要将值推送到 $scope.datas 数组;

试试这个:

<!DOCTYPE html>
<html ng-app="myApp">
<head>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js"></script>
  <script type="text/javascript">
    var myApp = angular.module('myApp', [])
      .controller('MyCtrl', function MyCtrl($scope) {
        $scope.options = function (options) {
          if (!$scope.datas) {
            $scope.datas = ["IARZ1DS099", "CATL0DS32", "IARZ1DS13", "IATL0DS099", "CARZ1DS099"]
          } else {
            $scope.datas.push("new value")
          }
          //console.log($scope.datas);
        }
      })
  </script>
</head>
<body>
  <div ng-controller="MyCtrl">
    <button ng-click="options()">
      add Data
    </button>
    <div ng-repeat="data in datas track by $index">
      {{data}}
    </div>
  </div>
</body>
</html>

关于javascript - 将新数据添加到现有的scope-angularjs中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59320529/

相关文章:

javascript - jQuery.ajax 返回空数组

javascript - 如何在 Javascript 中将元素从禁用循环到启用

javascript - jspdf header需要重复多页

javascript - 如何在js或jQuery中检测ctrl +滚动?

javascript - PreventDefault 在 Firefox 上不起作用

javascript - Angular - 将 HTTP 发布数据发送到服务器 [HOW TO]

javascript - 如何让函数 initMap() 在其执行之间等待?

javascript - React 中的弯曲文本(SVG 文本路径不起作用)

javascript - 如何在 AngularJS 中对 ng-repeat 渲染的 div 进行动画处理

javascript - 单击时创建 Mapbox JS 标记