首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于JSON数据生成页面

基于JSON数据生成页面
EN

Stack Overflow用户
提问于 2014-10-31 16:08:48
回答 1查看 1.6K关注 0票数 0

我正在为我正在构建的应用程序使用AngularJS,并且想知道当条目被推送到一个名为places的JSON对象时,是否有可能生成页面。推送的每个项目都有一个唯一的ID,我想我可以使用这个id (例如123456)作为url的一部分,比如so site.com/places/123456

代码语言:javascript
复制
{
  "places" : [
    {
      "id" : 471756,
      "title" : "The Whittington Hospital"
    }
  ]
}

是否可以自动生成此页面(例如,基于模板)?

我之所以问这个问题,是因为我正试图构建一个应用程序,让用户通过表单创建自己的医院。一旦创建了一个医院并将其推送到JSON对象,我希望为该医院创建一个页面。

我能用角做这个吗?任何帮助都是非常感谢的。

提前感谢!

更新

还是有点麻烦。这是我到目前为止所得到的。

place.html

代码语言:javascript
复制
<div ng-controller='PlaceCtrl'>
  <h1>{{ title }}</h1>
</div>

JS

代码语言:javascript
复制
app.constant('FBURL', 'https://luminous-fire-8685.firebaseio.com/');

app.config(['$routeProvider', function ($routeProvider) {
  $routeProvider
    .when('/places/:placeId', {
      templateUrl: 'views/place.html',
      controller: 'PlaceCtrl'
    })
}]);

app.factory('place', function($firebase, FBURL, $routeParams) {
  var ref = new Firebase(FBURL + "places/" + $routeParams.placeId);

  return {
    id: $routeParams.placeId
  }
});

app.controller('PlaceCtrl', function($scope, $rootScope, FBURL, $firebase, $location, $routeParams, place) {
  $scope.placeId = place.id;
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-31 19:52:26

你在找ngRoute和$routeProvider。使用这些选项,您可以设置如下参数化路由:

代码语言:javascript
复制
.when('/place/:placeId', { templateUrl: 'place.html', controller: 'PlaceCtrl' })

因此,每次访问者访问以/place/开头的URL时,都会以PlaceCtrlplace.html结束。并将place作为参数传递。

然后,您可以在控制器中获取参数:

代码语言:javascript
复制
app.controller('PlaceCtrl', function($scope, FBURL, $firebase, $routeParams) {
    var ref = new Firebase(FBURL+"places/"+$routeParams.placeId);   

另请参阅:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26678948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档