繁体   English   中英

ui路由器,ng-repeat和ui状态

[英]Ui-router, ng-repeat and ui state

我正在开发一个应用程序,在其中创建资源后,我需要将当前用户重定向到其他状态。

实际上,我有一个需求清单,我需要根据需求显示或创建报价。

这是查看代码:

<div class="landing-diags">
  <div class="current-projects">
    <div class="row project-summary" ng-repeat="demand in landingdiag.demandsList">
      <div class="col-md-2 project-block first-block {{project.projectType}}">
        <p class="project-strong">{{demand.user.firstname}} {{demand.user.lastname}}</p>
      </div>
      <div class="col-md-2 project-block">
        <p class="project-strong">{{demand.creationDate | date:"dd/MM/yyyy"}}</p>
      </div>
      <div class="col-md-4">
      </div>
      <div class="col-md-2">
        <div ng-if="!demand.quotation">
          <button ng-click="landingdiag.createQuotation(demand)" class="btn btn-primary pull-right bar-btn">Create</button>
        </div>
        <div ng-if="demand.quotation">
          <button ui-sref="app.state.concerned({id: demand._id})" class="btn btn-primary pull-right bar-btn">Show</button>
        </div>
      </div>
    </div>
  </div>
</div>

这是隐含的控制器方法:

createQuotation (demand) {
    this.DemandsService.createQuotation(demand).$promise.then((response) => {
      this.redirectToQuote(demand);
    });
  }

redirectToQuote (demand) {
  this.$state.transitionTo('app.state.concerned', {id: demand._id});
}

问题

我的问题是创建报价时我从未重定向。 如果我在控制台上记录了redirectToQuote方法,则将其传递给我。 所以看来我的问题在$ state.go呼叫上。

但是,当我尝试在“显示”按钮上的视图内部使用redirectToQuote方法直接重定向时,如下所示:

<div ng-if="demand.quotation">
  <button ng-click="landingdiag.redirectToQuote(demand)" class="btn btn-primary pull-right bar-btn">Accéder au devis</button>
</div>

我很好地重定向到有关状态

我担心createQuotation()this.redirectToQuotethen()作为回调调用。 因此, this对象绝对不是您的控制器。

查看todd的第一个代码段: https : //toddmotto.com/resolve-promises-in-angular-routes/他正在使用bind。

您还可以查看来自很棒的Kyle Simpson或更短的我自己的https://github.com/getify/You-Dont-Know-JS/tree/master/this%20%26%20object%20prototypes:http:// blog .monkey-development.com / JavaScript的/ JAVA / 2015/12/18 / JavaScript的this.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM