同じ controllerの異なるインスタンスによって制御されるページに 2 つの要素を表示したいのですが、一意の外部情報を登録する必要があります (一方の「ジョイスティック」は「player = one」などの識別プロパティ セットを取得し、もう一方は「player = one」など)。 「プレーヤー=2」を取得します。これを正確に実行する最良の方法はわかりません
私が達成しようとしていることの一般的な例を次に示します。
<!-- These need to have different configurations -->
<div ng-include src="'joystick/joy.tpl.html'"
ng-controller="JoystickCtrl">...</div>
<div ng-include src="'joystick/joy.tpl.html'"
ng-controller="JoystickCtrl">...</div>
するべきか:
ディレクティブを使用しますか?
<div ng-include src="'joystick/joy.tpl.html'"
ng-controller="JoystickCtrl" player="one">...</div>
<div ng-include src="'joystick/joy.tpl.html'"
ng-controller="JoystickCtrl" player="two">...</div>
$injector を使用しますか? (fyi - これは間違った実装かもしれません)
<div ng-controller="DualJoyCtrl">
<div ng-include src="'joystick/joy.tpl.html'"
ng-controller="joyOne" player="one">...</div>
<div ng-include src="'joystick/joy.tpl.html'"
ng-controller="joyTwo" player="two">...</div>
</div>
-----
.controller('DualJoyCtrl', function ($injector, JoystickCtrl, $scope, $rootScope) {
$scope.joyOne = $injector.instantiate(JoystickCtrl, {$scope: $rootScope.$new(), player:"one"});
$scope.joyTwo = $injector.instantiate(JoystickCtrl, {$scope: $rootScope.$new(), player:"two"});
});
それとも…やらない?
これは、一見決定的ではないように見える別のスタック投稿に似ていることに気付きました。