Javascript Angular.js-两条并发但独占的路由($routeProvider) 标题 滑块 主窗口
我正在使用一个有两个主要视图的webapp。第一个窗口是主窗口(标准窗口),第二个窗口是“滑块”。滑块不仅仅是一个滑出菜单(有时称为“工具架”)。它具有与其关联的路由和辅助信息 在正常的角度范例中,我将在主窗口中使用单个ng视图,这将使用$routeProvider视图模板的结果填充主窗口 然而,在这里我想也能有滑块有自己的路线。Angular似乎不支持这一点。我在想,通过创建表单的客户端URL,我可能会破解中的功能: www.app.com/mainfown/someView1/someView2/SLIDER/someViewaJavascript Angular.js-两条并发但独占的路由($routeProvider) 标题 滑块 主窗口,javascript,angularjs,url,Javascript,Angularjs,Url,我正在使用一个有两个主要视图的webapp。第一个窗口是主窗口(标准窗口),第二个窗口是“滑块”。滑块不仅仅是一个滑出菜单(有时称为“工具架”)。它具有与其关联的路由和辅助信息 在正常的角度范例中,我将在主窗口中使用单个ng视图,这将使用$routeProvider视图模板的结果填充主窗口 然而,在这里我想也能有滑块有自己的路线。Angular似乎不支持这一点。我在想,通过创建表单的客户端URL,我可能会破解中的功能: www.app.com/mainfown/someView1/someVie
我在这方面做得对吗?或者我可以使用Angular的其他功能吗?我不建议使用两个routeParameters。将侧边栏设置为服务,并在包装器、滑块和主窗口上放置一个控制器。通过在#包装器上安装ng控制器以及子控制器,您可以在控制器之间共享数据(然后,将服务注入这些控制器。我已经这样做了,并且非常成功。请参见下面的示例。在我的代码中,我的ng视图和路由返回了
中的所有内容。您可以轻松地将ng视图放在MainCtrl中,并从侧栏触发路由
在模板中:
<div id="header">
Header
</div>
<div id="wrapper">
<div id="slider" ng-view>
Slider
</div>
<div id="mainWindow" ng-view>
Main window
</div>
</div>
对于控制器:
myApp.service('questionsSvc', function(Modules) {
var QuestionsSrc = {};
QuestionsSrc.questions = [];
var getQuestionsForModAndUnitFn = function(mod, unit) {
...bunch of code to have it populate QuestionSrc with questions
};
return {
getQuestionsForModAndUnit: getQuestionsForModAndUnitFn,
Questions: QuestionsSrc
};
});
在本例中,我在控制器之间共享信息。神奇之处在于RootCtrl中的$scope.data={};
。它允许我根据侧边栏中的操作(单击标签)将问题附加到$scope在MainCtrl中使用相同的$scope以漂亮的格式显示问题。根据我刚才展示的内容,我不必使用$routeParameters来传递变量以转到另一个页面(如模块和测验),但我可以按照您的要求这样做,但可以使用侧边栏ng click change routes
希望这能有所帮助。我不推荐使用两个routeParameters。将侧栏设置为服务,并在包装器、滑块和主窗口上放置一个控制器。通过在包装器上安装ng控制器以及子节点,您可以在控制器之间共享数据(然后,将服务注入这些控制器。我已经这样做了,并且非常成功。请参见下面的示例。在我的代码中,我的ng视图和路由返回了
中的所有内容。您可以轻松地将ng视图放在MainCtrl中,并从侧栏触发路由
在模板中:
<div id="header">
Header
</div>
<div id="wrapper">
<div id="slider" ng-view>
Slider
</div>
<div id="mainWindow" ng-view>
Main window
</div>
</div>
对于控制器:
myApp.service('questionsSvc', function(Modules) {
var QuestionsSrc = {};
QuestionsSrc.questions = [];
var getQuestionsForModAndUnitFn = function(mod, unit) {
...bunch of code to have it populate QuestionSrc with questions
};
return {
getQuestionsForModAndUnit: getQuestionsForModAndUnitFn,
Questions: QuestionsSrc
};
});
在本例中,我在控制器之间共享信息。神奇之处在于RootCtrl中的$scope.data={};
。它允许我根据侧边栏中的操作(单击标签)将问题附加到$scope在MainCtrl中使用相同的$scope以漂亮的格式显示问题。根据我刚才展示的内容,我不必使用$routeParameters来传递变量以转到另一个页面(如模块和测验),但我可以按照您的要求这样做,但可以使用侧边栏ng click change routes
希望这能有所帮助。我不推荐使用两个routeParameters。将侧栏设置为服务,并在包装器、滑块和主窗口上放置一个控制器。通过在包装器上安装ng控制器以及子节点,您可以在控制器之间共享数据(然后,将服务注入这些控制器。我已经这样做了,并且非常成功。请参见下面的示例。在我的代码中,我的ng视图和路由返回了
中的所有内容。您可以轻松地将ng视图放在MainCtrl中,并从侧栏触发路由
在模板中:
<div id="header">
Header
</div>
<div id="wrapper">
<div id="slider" ng-view>
Slider
</div>
<div id="mainWindow" ng-view>
Main window
</div>
</div>
对于控制器:
myApp.service('questionsSvc', function(Modules) {
var QuestionsSrc = {};
QuestionsSrc.questions = [];
var getQuestionsForModAndUnitFn = function(mod, unit) {
...bunch of code to have it populate QuestionSrc with questions
};
return {
getQuestionsForModAndUnit: getQuestionsForModAndUnitFn,
Questions: QuestionsSrc
};
});
在本例中,我在控制器之间共享信息。神奇之处在于RootCtrl中的$scope.data={};
。它允许我根据侧边栏中的操作(单击标签)将问题附加到$scope在MainCtrl中使用相同的$scope以漂亮的格式显示问题。根据我刚才展示的内容,我不必使用$routeParameters来传递变量以转到另一个页面(如模块和测验),但我可以按照您的要求这样做,但可以使用侧边栏ng click change routes
希望这能有所帮助。我不推荐使用两个routeParameters。将侧栏设置为服务,并在包装器、滑块和主窗口上放置一个控制器。通过在包装器上安装ng控制器以及子节点,您可以在控制器之间共享数据(然后,将服务注入这些控制器。我已经这样做了,并且非常成功。请参见下面的示例。在我的代码中,我的ng视图和路由返回了
中的所有内容。您可以轻松地将ng视图放在MainCtrl中,并从侧栏触发路由
在模板中:
<div id="header">
Header
</div>
<div id="wrapper">
<div id="slider" ng-view>
Slider
</div>
<div id="mainWindow" ng-view>
Main window
</div>
</div>
对于控制器:
myApp.service('questionsSvc', function(Modules) {
var QuestionsSrc = {};
QuestionsSrc.questions = [];
var getQuestionsForModAndUnitFn = function(mod, unit) {
...bunch of code to have it populate QuestionSrc with questions
};
return {
getQuestionsForModAndUnit: getQuestionsForModAndUnitFn,
Questions: QuestionsSrc
};
});
在本例中,我在控制器之间共享信息。神奇之处在于RootCtrl中的$scope.data={};
。它允许我根据侧边栏中的操作(单击标签)将问题附加到$scope在MainCtrl中使用相同的$scope以漂亮的格式显示问题。根据我刚才展示的内容,我不必使用$routeParameters来传递变量以转到另一个页面(如模块和测验),但我可以按照您的要求这样做,但可以使用侧边栏ng click change routes
希望这有帮助。一个解决方案是使用:
AngularUI路由器是AngularJS的路由框架,它允许
您需要将接口的各个部分组织到状态机中。
与Angular core中的$route服务不同,它是围绕
URL路由,UI路由器围绕sta组织