javascript - 根据条件以 Angular 定义路线

标签 javascript arrays angularjs angular-routing

在我的 app.js 中,我正在配置路由以使用以下代码导航到不同的 Controller

 var urlArray=['Suggest','Comment']; 
 var pdfURL="Suggest";
 app.config(function($routeProvider,$locationProvider) {
  .when('/datatrial/' +pdfURL, {
       templateUrl: 'simple/TestPanelTrial.html',
            controller: 'SimpleDemoTrailController'
        });});

目前我正在添加变量 pdfUrl。 我想添加条件,如果 pdfURL 与 urlArray 中的任何字符串匹配,则仅使用 when 条件登陆到相应的 Controller 。 上面的代码位于 app.js 中,它是第一个加载的文件。 请告知如何实现这一目标。

最佳答案

您需要使用参数,而不是 .when() 来实现此目的。

.state('/datatrial', {
  url: "/datatrial/:id",
  templateUrl: 'simple/TestPanelTrial.html',
  controller: function ($stateParams) {
    if ($state.params.id !== 'Suggest') {
      $state.go('/error');
    }
  }
});

这尚未经过测试,但我相信它会起作用。相反,您可以将该函数放入您的 Controller 中,因为我看到您链接到问题中的一个函数,但为了简洁起见,我将其放入其中。

关于javascript - 根据条件以 Angular 定义路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37016283/

相关文章:

javascript - 如何自定义DataTables TableTools打印预览页面

java - 从 Rhino 脚本中访问 Java 特权操作

javascript - HTML5 语音合成在阅读时缺少一些文本

ios - 将字符串数组转换为 JSON 或 2D 数组 SWIFT

angularjs - 有没有办法制定一个指令,使其只能在某个其他指令中使用?

javascript - 找到反弹的峰值

java - 在java中将数组存储在文件中

java - 合并两个数组并短合并数组

javascript - Jasmine 和 AngularJS - 当函数用作依赖项时如何测试工厂函数

javascript - 加载图像时在 AngularJS 中动态添加 ng-click