【发布时间】:2013-05-31 09:45:51
【问题描述】:
我想在由同一控制器的不同实例控制的页面上显示两个元素,但是我需要注册一些唯一的外部信息(一个“操纵杆”获得了一个识别属性集,例如“玩家=一”,而另一个获得“玩家=二”)。我不确定最好的方法来准确地完成这个
这是我想要完成的一个通用示例:
<!-- 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?(仅供参考 - 这可能是不正确的实现)
<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"});
});
或者……不这样做?
我意识到这类似于另一个看似不确定的堆栈帖子:
【问题讨论】:
标签: javascript angularjs angularjs-directive