node.js - 如何从数据库动态添加路由到angularjs

标签 node.js angularjs angular-routing ngroute angularjs-ng-route

我正在创建一个 NodeJs + AngularJS 应用程序。我将酒店列表存储到数据库中。我想根据酒店名称创建动态路线,并根据属性 ID 加载部分 View 。

例如,在我的数据库中,我有:

HotelID         HotelName                       

1               example hotel                   
2               second example hotel            
3               third example hotel                 

在 app.js 中我想要这样的东西

var hotelierApp = angular.module('hotelierApp', ['ngRoute', 'ngCookies', 'pascalprecht.translate', 'hotelierApp.services', 'hotelierApp.directives', 'hotelierApp.filters', 'hotelierApp.controller']);
hotelierApp.run(function ($rootScope) {
$rootScope.langId = 1;
})
hotelierApp.config(['$routeProvider', '$locationProvider', '$translateProvider',
function ($routeProvider, $locationProvider, $translateProvider) {

    angular.forEach(hotels, function (hotel) {
  $routeProvider.when(hotel.name.replace(" ","-"), { templateUrl: 'partials/property', controller: propertyCtrl });
});

angular.forEach(评论, 函数(评论) { $routeProvider.when(review.title.replace("","-"), { templateUrl: 'partials/review', Controller : reviewCtrl }); });

    $locationProvider.html5Mode(true);

    $translateProvider.useStaticFilesLoader({
        prefix: 'data/locale-',
        suffix: '.json'
    });
    $translateProvider.preferredLanguage('en');
    $translateProvider.useLocalStorage();
}

]);

这里的酒店/评论将是通过 API 调用来自数据库的列表,我还想将其相应的 ID 作为路由参数传递给 Controller ​​。

我的应用程序中有许多其他部分,我必须从数据库创建路由。

请帮忙。

问候, - 马诺杰

最佳答案

您没有理由需要这样做。

我很确定你的路线可以被考虑到类似

$routeProvider.when("/:id/:name", { 
templateUrl: 'partials/property', controller: propertyCtrl })

然后使用 $routeParams 在 Controller 中获取酒店的名称。至于模板网址,您可以传递一个函数而不是字符串来解析您需要使用的模板的名称。

templateUrl:function(pathParms){...}

所以不需要使用 angular.forEach。

关于node.js - 如何从数据库动态添加路由到angularjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24139891/

相关文章:

angularjs - UI 路由器和查询参数

javascript - 在 ng-repeat 中设置变量并作为参数传递

javascript - 如何根据AngularJS局部 View 动态更改标题?

angular - 如何导航到与 app.component.ts 不同的组件?

node.js - 了解 NodejS 中的 Express session

javascript - 如何检查路径中的每个文件是否可供读取

node.js - 如何使用适配器更改 Axios 中的结果状态?

javascript - 来自json对象的Angular.js格式日期

angular - 通过服务将父路由参数传递给子路由

node.js - 如何检查 ElasticSearch 客户端是否已连接?