在angular.js应用程序中将JSON转换为HTML

时间:2015-08-25 03:37:59

标签: javascript html json angularjs node.js

我有一个应用程序,它应该显示像数据一样的书(虽然也会有一些交互式内容,如测验)。我将页面存储为xml,如

<page>
  <image>http://someimage</image>
  <text>bla bla bla </text>
  <text>hello there </text>
  <image></image>
  <quiz type="multichoice">
    <question>What is the first letter of the alphabet</question>
    <answer>a</answer>
    <answer>b</answer>
    <answer>c</answer>
  </quiz>
</page>

对给定页面上元素的顺序或数量没有限制。在我的Web服务器上,我将这些转换为javascript对象(并缓存它)。到目前为止,一切都很好。

但我想要的是客户端能够请求页面,并具有将javascript对象转换为HTML的逻辑。我无法弄清楚如何用angular.js编写这个逻辑。我看不到一种明显的方法 - 只要我想为每个元素使用相同的HTML,ng-repeat才会起作用。但在这种情况下,我想将图像显示为图像,将文本显示为段落,将测验显示为更复杂的事物。使用玉石模板,这将是微不足道的。

我希望能有一些快速的工作,并担心角度的学习曲线会浪费时间。用玉石模板做这件事是微不足道的,但当然有服务器方面的缺点。

一些澄清:我知道如何将数据传送到客户端,只需要使用$ http。但我完全不明白的是,一旦实际上在客户端,如何实际执行我想要的数据。无论是JSON还是XML都无关紧要。我只需要知道如何编写代码,根据数据中的内容动态地将html元素添加到视图中。

2 个答案:

答案 0 :(得分:0)

你需要一些东西&#34;快速工作&#34;当你已经熟悉一项技术时,取得的成果将是“微不足道的”。你已经回答了自己的问题 - 按照你所知道的去做。

Angular只是一种工具,它需要时间来学习,在这样做时你可以完成任务。它可以解决您的问题,但您需要先学习它。即使你得到一些关于如何使用Angular解决这个特定问题的好答案,你仍然需要了解如何开发和部署一个角度应用程序,这不会像使用你已经知道的那样简单。

答案 1 :(得分:-1)

使用http将XML数据提供给客户端。解析xml。

angular.module('app').controller('TestController', function($scope, $http){
//use $http here
$http.get('https://stackoverflow.com').then(function(successResponse){
   $scope.data = successResponse;
}, function(errorRepsonse){
   $scope.error = errorRepsonse;
});

});