Angularjs 如何在另一个状态中呈现角度ui路由状态?

Angularjs 如何在另一个状态中呈现角度ui路由状态?,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我有两个ui路由状态S1和S2。S1是一个查询状态,具有一个用于查询某些数据的表单。S2是结果状态,在此状态下,我显示了从S1状态获得的数据 现在我想在S2结果状态中提供S1(查询状态),以便用户可以在S2状态本身中修改那里的查询 如何在S2状态下访问S1模板和控制器 代码: 我想在结果状态中使用表单状态 注意:我在角度方面是新手,请为我提供一些关于此类场景的建议。这是一个主观的回答,但已经使用了很多ui路由器,我认为它非常适合处理各种路由,但如果您希望在不同的页面上使用模块化的可重用部件,我会

我有两个ui路由状态
S1
S2
。S1是一个查询状态,具有一个用于查询某些数据的表单。S2是结果状态,在此状态下,我显示了从S1状态获得的数据

现在我想在
S2
结果状态中提供
S1
(查询状态),以便用户可以在
S2
状态本身中修改那里的查询

如何在
S2
状态下访问
S1
模板和控制器

代码:

我想在
结果
状态中使用
表单
状态


注意:我在角度方面是新手,请为我提供一些关于此类场景的建议。

这是一个主观的回答,但已经使用了很多ui路由器,我认为它非常适合处理各种路由,但如果您希望在不同的页面上使用模块化的可重用部件,我会声明您只需使用angular的本机指令就可以轻松得多

app.directive('someform', function() {
  return {
    restrict: 'E',
    templateUrl: 'form.html',
    controller : 'formController'
  };
});
为完整性而猛击。(您可能需要注意,在本例中,ui路由器是完全多余的。)

对于控制器之间的通信,一种方法是使用
$broadcast
$emit
$on
。但我更喜欢一个保存您的结果的服务,并将其注入两个控制器以便于访问

app.factory('Results', function(){
  results = [{value:'aaaa'},{value:'bbb'}, {value:'cccc'}];
  return {
    get : function(){
      return results;
    },
    add : function(value){
      results.push(value);
    }
  }
})

app.factory('Results', function(){
  results = [{value:'aaaa'},{value:'bbb'}, {value:'cccc'}];
  return {
    get : function(){
      return results;
    },
    add : function(value){
      results.push(value);
    }
  }
})