Angularjs 如何在另一个状态中呈现角度ui路由状态?
我有两个ui路由状态Angularjs 如何在另一个状态中呈现角度ui路由状态?,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我有两个ui路由状态S1和S2。S1是一个查询状态,具有一个用于查询某些数据的表单。S2是结果状态,在此状态下,我显示了从S1状态获得的数据 现在我想在S2结果状态中提供S1(查询状态),以便用户可以在S2状态本身中修改那里的查询 如何在S2状态下访问S1模板和控制器 代码: 我想在结果状态中使用表单状态 注意:我在角度方面是新手,请为我提供一些关于此类场景的建议。这是一个主观的回答,但已经使用了很多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);
}
}
})