【问题标题】:ReferenceError: employeelist is not definedReferenceError:未定义员工列表
【发布时间】:2017-09-19 17:23:10
【问题描述】:

我无法在这里解决我的问题,请查看我的代码并提供解决方案

这是server.js的代码

var express = require('express');
var app = express();

app.use(express.static(__dirname + "/public"))

app.listen(3000);
console.log("server running on port 3000")

这是controller.js的代码

var app = angular.module('myApp', []);
app.controller('AppCtrl', ['$scope', '$http', function($scope, $http) {
    console.log("Hello World from controller");
    $http({
        method: 'GET',
        url: '/employeelist'
    }).then(function (response) {
           > console.log("I got the data I requested");
            $scope.employeelist = response.data;
        });
    employee1 = {
        name: 'Sunil',
        designation: 'Software Developer',
        salary: '20000'
    };
    employee2 = {
        name: 'Vamshi',
        designation: 'Java Developer',
        salary: '30000'
    };

    employee3 = {
        name: 'Chethan',
        designation: 'Dot Net Developer',
        salary: '20000'
    };

    var employeeList = [employee1, employee2, employee3];

    $scope.employeelist = employeelist;
}]);

这是html文件的代码

<!DOCTYPE html>
<html ng-app="myApp">
<head>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css">
    <title>Employees List</title>
</head>
<body>
<div class="container" ng-controller="AppCtrl">
    <h1>Employees List</h1>
        <table class="table">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Designation</th>
                    <th>Salary</th>
                </tr>
            </thead>
            <tbody>
                <tr ng-repeat="employee in employeelist">
                    <td>{{employee.name}}</td>
                    <td>{{employee.designation}}</td>
                    <td>{{employee.salary}}</td>
                </tr>
            </tbody>
        </table>
</div>
<script src ="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.6/
angular.min.js"></script>
<script src="controllers/controller.js"></script>
</body>
</html>

错误是关于 angular 的版本还是我在代码中做错了什么?

节点服务器工作正常,但是当我打开 localhost 时显示上述错误,而且我无法查看这一行 console.log("I got the data I requested");

【问题讨论】:

  • 你正在分配$scope.employeelist = employeelist; employeelist 是什么我看到你将employeeList 定义为上面的数组?

标签: html angularjs


【解决方案1】:

这是因为 JavaScript 区分大小写

您的局部变量名为employeeList,但您正尝试将employeelist 分配给$scope.employeelistemployeelist is not defined

改变这个:

var employeeList = [employee1, employee2, employee3];
$scope.employeelist = employeelist; 

到这里:

var employeeList = [employee1, employee2, employee3];
$scope.employeelist = employeeList; // uppercase "L"

【讨论】:

  • 是的,现在它正在显示数据,但还有一个错误,我无法打印这一行 console.log("I got the data I requested");在节点服务器中
  • @sunilBhatraju 在这种情况下,您应该标记为答案并创建一个新问题,询问如何解决您遇到的新问题。
  • 我现在将您的答案标记为已回答@Matthew Cawley
  • 你能帮个忙并在此链接中为我的答案投票吗? stackoverflow.com/questions/46292763/…
【解决方案2】:

Javascript 区分大小写,var employeeList 后跟 $scope.employeelist = employeelist; 将第一个更改为 var employeelist,它应该可以工作

【讨论】:

    猜你喜欢
    • 2016-08-31
    • 1970-01-01
    • 2020-09-18
    • 2020-09-19
    • 2021-11-26
    • 2020-09-08
    • 2021-08-07
    • 1970-01-01
    • 2012-08-24
    相关资源
    最近更新 更多