AngularJS中的服务无法正常工作

Tox*_*xic 1 javascript angularjs angularjs-service

我正在研究最简单的基于AngularJS app的方法来理解它的流程.我试图将简单的字符串从服务传递到控制器,并从那里我想在index.html中打印此字符串.似乎我的其余代码工作但没有服务,不知道我在这里缺少什么...

的index.html

<!DOCTYPE html>
<html ng-app="angularFormsApp">
 <head>
 <title>Angular Form</title>
 <meta charset="utf-8" />
  <link href="Content/bootstrap.min.css" rel="stylesheet" />
  <script src="Scripts/angular.min.js"></script>
  <script src="App/AngularFormsApp.js"></script>
  <script src="App/EmployeeForm/efService.js"></script>
  <script src="App/EmployeeForm/efController.js"></script>

<!--<script src="App/EmployeeForm/efDirective.js"></script>
-->
</head>
  <body>
     <h1>Test AngularJS App Approach</h1>

   <div ng-controller="efController">
       {{employee}}
   </div>

</body >
</html>
Run Code Online (Sandbox Code Playgroud)

AngularFormsApp.JS(模块)

var angularFormsModule = angular.module('angularFormsApp', []);
Run Code Online (Sandbox Code Playgroud)

efController.js(控制器)

angularFormsModule.controller('efController',
  function efController($scope, efService) {

    $scope.employee = efService.employee;
});
Run Code Online (Sandbox Code Playgroud)

efService.js(服务)

angularFormsModule.factory('efService',
 function () {
    var employee = "Employee Detail Available";

    return employee;
});
Run Code Online (Sandbox Code Playgroud)

nog*_*ade 5

您可能希望返回一个对象而不是字符串.

angularFormsModule.factory('efService',
function efService() {
    var service = {
        employee: "Employee Detail Available"
    }
    return service;
});
Run Code Online (Sandbox Code Playgroud)

  • 你没有返回一个函数,只是一个对象. (2认同)