AngularJS - 根据来自另一个控制器的 ng-repeat 将信息动态插入控制器

AngularJS - Insert info dinamically into controller according to a ng-repeat from another controller

为了便于理解,我创建了一个非常简单的示例。

这里我有调用模板的ng-repeat。该模板有自己的控制器。 但是,模板的控制器需要在每个 ng-repeat 中从服务中注入一些数据。在这个演示中,它必须是问题的答案。 我怎样才能做到这一点?

  <div ng-repeat="fighter in fighters">
    <div ng-if="fighter.state">
      {{fighter.question}}
      <div ng-include="'template.html'" ng-controller="Controller2"></div>
    </div>
    <br>
    <br>
  </div>

如果您想查看整个演示的运行情况,请查看此插件:

DEMO PLUNKER

在你的 template.html 中创建一个 ng-init 函数并传递对象

<div ng-controller="Controller2" ng-init="getAnwser(fighter)">
  <div>
    <!-- Inserir pergunta que vem da base de dados aqui-->
    <input type="text" ng-model="answer"  />
  </div>
  <div>
    <button ng-click="checkAnswer()">
      ANSWER
    </button>
    <div ng-show="showAnswer">Correct</div>
  </div>

</div>

controller2中实现功能

$scope.getAnwser = function(obj){
  console.log(obj.answer)
}

Demo