javascript - 为 AngularJS Web App 导入 JSON 数据

标签 javascript angularjs angularjs-scope angularjs-controller angularjs-controlleras

我一直在关注 Angular 教程,我试图让我的 JSON 数据出现,但我知道我做错了什么,但无法找出正确的方法。

我知道在我的 app.js 的某个地方我的作用域搞砸了。

如何显示每个产品的Family Name

这是我的布局:

应用程序.js

var eloApp = angular.module('eloMicrosite', []);

eloApp.controller('homeListController', ['$scope', '$http',
    function($scope, $http) {
        $http.get('/Elo/eloMS.min.json')
            .success(function(data) {
                $scope.products = data;
            });
}]);

eloApp.controller('HomeController', function(){
    this.products = $scope.products;
});

HTML

<div ng-controller="HomeController as home">
        {{home.products[o]["Family Name"]}}
</div>

JSON 布局

{
  "products": [
    {
      "Family Name": "3201L",
      "Type": "IDS",
      "Size (inches)": 32,
      "Aspect Ratio": "16:9",
      "Part Number": "E415988",
      "Product Description": "ET3201L-8UWA-0-MT-GY-G",
      "Marketing Description": "3201L 32-inch wide LCD  Monitor",
      "Advance Unit Replacement": "",
      "Elo Elite": "",
      "Package Quantity": 1,
      "Minimum Order Quantity": 1,
      "List Price": 1800
    },
    .
    .
    .
  ],
  "families": [
     {
       category: "Category1"
     },
     {
       category: "Category2"
     }
  ],
  "accessories": [
     {
       category: "Category1"
     },
     {
       category: "Category2"
     }
  ]
}

最佳答案

你应该在你的页面上添加homeListController而不是HomeController,还需要使用this而不是$scope 因为你想遵循 controllerAs 语法,第二个 Controller 在这种情况下没用,你可以从 app.js 中删除它。

标记

<div ng-controller="homeListController as home">
        {{home.products[0]["Family Name"]}}
</div>

Controller

eloApp.controller('homeListController', ['$http',
    function($http) {
        var home = this;
        $http.get('/Elo/eloMS.min.json')
            .success(function(data) {
                home.products = data.products; //products should mapped here
            });
}]);

Demo Plunkr

关于javascript - 为 AngularJS Web App 导入 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32769700/

相关文章:

javascript - RegExp 匹配不带引号的单引号文本 - JavaScript

javascript - AngularJS 路由不起作用(甚至没有检测到)

javascript - 在 angularjs 中手动触发 $watch 事件

angularjs - 使用 Angular UI Router 在 View 中进行 ng-click 时,范围变量不会更新

javascript - 页面滚动和切换后文本消失

javascript - 写入/读取 Protocol Buffer

javascript - Cypress.io 正在执行注释代码行

javascript - Uncaught Error : [$injector:modulerr] when using angularJS

javascript - 用于存储 SEO 元数据的 AngularJS 服务

javascript - AngularJS - 将 this.value 传递给函数