2017-01-23 6 views
0

Может кто-нибудь, пожалуйста, скажите мне, что случилось с частью фабрики ниже кода? Я получаю сообщение об ошибке для третьего журнала консоли. Заранее спасибо.Завод в угловом

fsp.html:95 Uncaught SyntaxError: Unexpected token (
    angular.js:36Uncaught Error: [$injector:modulerr]  http://errors.angularjs.org/1.2.23/$injector/modulerr?p0=MyModule&p1=Error%…gleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.2.23%2Fangular.min.js%3A17%3A415) 
     at angular.js:36 
     at angular.js:3906 
     at r (angular.js:325) 
     at e (angular.js:3872) 
     at gc (angular.js:3812) 
     at c (angular.js:1444) 
     at fc (angular.js:1459) 
     at Xc (angular.js:1368) 
     at angular.js:21949 
     at HTMLDocument.a (angular.js:2573) 
<html> 
    <head> 
     <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 

</head> 
<body ng-app="MyModule"> 
<div ng-controller="MyController"> 

</div> 
<script> 
    var mod = angular.module('MyModule',[]); 
    mod.provider("myProvider",function() 
    { 
     this.$get = function() 
     { 
      return "MyValue"; 
     }; 
    }); 
    mod.service("myService",function() 
    { 
     this.myFunc = function() 
     { 
      return "MyValueService"; 
     }; 
    }); 
    mod.factory("myFactory",function() 
    { 
     return 
     { 
      myFunc :function() 
      { 
       return "MyValueFactory"; 
      } 
     } 
    }); 
    mod.controller("MyController",function(myProvider,myService,myFactory) 
    { 
     console.log("MyController-myProvider"+myProvider); 
     console.log("MyController-myService"+myService.myFunc()); 
     console.log("MyController-myFactory"+myFactory.myFunc()); 
    }); 
</script> 
</body> 

ответ

3

Вы падаете фол в JavaScript ASI. Изменение заявления возврата вашего завода до ...

return { // note the brace is on the same line here 
    // and the rest as normal 

Рабочий пример ~ http://plnkr.co/edit/2CquJUcUU005F6CBpnky?p=preview

Смотрите также ~ https://stackoverflow.com/a/3218860/283366

+0

Спасибо, что сработало. Имеет ли это значение только для возвращения? У меня есть круглые скобки в следующей строке для службы и поставщика, и он работает нормально. – ang123

0

ли это ..

mod.factory('myFactory',function() 
    { 
     return { 
      myFunc:function() { 
       return "MyValueFactory"; 
      } 
     } 
    }); 
0

отступы ваш код любит, как тот

</head> 
<body ng-app="MyModule"> 
<div ng-controller="MyController"> 

</div> 
<script> 
    var mod = angular.module('MyModule',[]); 
    mod.provider("myProvider",function() 
    { 
     this.$get = function() { 
      return "MyValue"; 
     }; 
    }); 
    mod.service("myService",function() 
    { 
     this.myFunc = function() { 
      return "MyValueService"; 
     }; 
    }); 
    mod.factory("myFactory",function() 
    { 
     return { 
      myFunc :function() { 
       return "MyValueFactory"; 
      } 
     } 
    }); 
    mod.controller("MyController",function(myProvider,myService,myFactory) 
    { 
     console.log("MyController-myProvider"+myProvider); 
     console.log("MyController-myService"+myService.myFunc()); 
     console.log("MyController-myFactory"+myFactory.myFunc()); 
    }); 
</script> 
</body>