angularjs随机化和匹配

时间:2017-06-21 04:06:15

标签: angularjs

我正在摆弄角度并试图了解我应该何时制作新的控制器。我想用角度完成的是#1在用户点击按钮时随机化列表。我可以自动随机化,但不确定是否在ng-click上是否需要为该范围设置新的控制器。我要做的第二件事就是复制该列表,但是当点击合作伙伴时 - 它会与列表中的随机字母匹配。这涉及将列表中的另一个字母附加到另一个字母。我想知道的是,如果它不是偶数会怎么样 - 额外的字母会发生什么?有什么建议。我认为angular提供了一种更清晰的方法来解决问题然后jquery。

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

.controller('myCtrl', ['$scope', function($scope) {
  $scope.list = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
  
  $scope.random = function() {
    return 0.5 - Math.random();
  };
   $scope.matchme = function() {
    alert("this");
  };


}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<body ng-app="myApp">

<div ng-controller="myCtrl">
   <p ng-repeat="i in list">{{i}}</p>
  <p ng-repeat="x in list2">{{i}}</p>
  <button ng-click="random()">randomize</button>
<button ng-click="matchme()">partner</button>

</div>

1 个答案:

答案 0 :(得分:0)

  

何时应该制作新的控制器

从技术上讲,您可以添加任意数量的控制器。 最佳做法是1个视图= 1个控制器,用于清洁代码。

  

在用户点击按钮时随机化列表

您的ng-click方法是正确的。您只需要在阵列上实现randomizing algorythm

  

ng-click [...]需要一个新的控制器

没有

  

复制该列表

在matchme函数中,在要复制的数组上使用angular.copy

  

当点击合作伙伴时 - 它会将其与随机字母匹配   列表[...]

从这里开始,我不了解你的需要。

无论哪种方式,对于任何新项目/测试,使用最新的角度版本。 1.2.23是从2014年开始的。