2017-06-21 4 views
1

私は角度をつけていて、いつ新しいコントローラーを作るべきかを理解しようとしています。私が角度で達成しようとしているのは、ユーザーがボタンをクリックしたときにリストをランダム化する#1です。私は自動ランダム化することができますが、スコープ用の新しいコントローラが必要な場合は、クリックしてください。もう1つは、リストを複製することですが、パートナーがクリックされたときにリスト内のランダムな文字と一致します。それは、リストに別の手紙を別の手紙に追加することです。私が疑問に思っていることは、たとえそれが平等ではないなら、余分な手紙に何が起こるべきかです。助言がありますか。私は、アンカーがjqueryの問題を解決するよりクリーンな方法を提示すると思います。angularjsランダマイズとマッチ

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>

答えて

0

とき、私はあなたが欲しいのコントローラの任意の数を追加することができ、新しいコントローラ

技術を行う必要があります。 ベストプラクティスは、よりクリーンなコード用に1ビュー= 1コントローラーです。ユーザーがあなたのNGクリックアプローチが正しいボタン

をクリックすると、リストをランダム

。配列にrandomizing algorythmを実装するだけです。 NG-クリック

は、[...]

は、アレイ上のmatchme機能使用angular.copyでは、そのリスト

を複製新しいコントローラを必要としますあなたは複製したい。

パートナーがクリックされたとき - それは リスト内のランダムな文字でそれらを一致して[...]

ここから私はあなたの必要性を理解していませんで。

どちらの方法でも、新しいプロジェクト/テストでは、最新の角度バージョンを使用してください。 1.2.23は2014年からです。