찾다

 >  Q&A  >  본문

angular.js - 请问angularjs里关于controller之间通信问题

我在做一个问答系统,其中有一个问题单页面,列出问题信息,然后列出问题下的回答列表。我给这个问题单页用了 QuestionCtrl 控制器,然后用http.get获取answers,用ng-repeat列出每个answer。然后每个answer我都用相同的控制器 AnswerCtrl来控制, 其中每个answer都有个赞的功能,一开始获取到answer时 ,我会把answer.prised_counter获取到显示,也就是回答当前被赞的数量。然后我给赞的元素a标签上加上ng-click去执行赞的操作,这时候调用的是AnswerCtrl里的function,赞了之后,我想要把answer.prised_counter+1,但是因为ansewr是从QuestionCtrl里的answers里读出来的,所以在AnserCtrl里我修改不了ansser.prised_counter这个变量。请问这个情况我应该怎么实现啊?是不是方案不对?

仅有的幸福仅有的幸福2741일 전530

모든 응답(1)나는 대답할 것이다

  • 習慣沉默

    習慣沉默2017-05-15 17:01:16

    이 경우에는 하나의 QuestionCtrl로 충분하므로 문제가 복잡해집니다.
    AnswerCtrl을 사용해야 하는 경우 $emit 및 $brodcast를 사용하여 상위-하위 범위 통신을 구현할 수 있습니다. 으아악 으아악

    회신하다
    0
  • 취소회신하다