2

仍然用 angular 找到我的方式,我在 ".directive('y',[y,function(y){" 行上得到 "Uncaught ReferenceError: y is not defined" 。就像它没有加载服务一样.我还尝试将脚本从主体移到头部,但没有任何效果。

    angular.module('fofApp', ['appRoutes'])
    .factory('y',['$rootscope',function($rootScope) {
        return {val: "he"};
    }])
    .directive('yow',[y,function(y){
        return {
            restrict: "E",
            template: "<h1>aaaaah</h1>"
        };
    }]);

我的html是

<!doctype html>
<html>
 <head>
 </head>
 <body ng-app="fofApp">
  <yow></yow>
 <script src="libs/angular/angular.js"></script>
 <script src="js/app.js"></script>
 </body>
</html>
4

2 回答 2

1

使用依赖注入时的最小化保护需要字符串作为第一个参数(以匹配传递给函数的参数的顺序/数量),它始终是最后一个参数。

将指令中的 y 更改为字符串。像这样:

.directive('yow',['y',function(y){

这是一个小提琴: http: //jsfiddle.net/u4v4cafm/(控制台中没有错误)

于 2014-09-30T21:30:17.860 回答
0

不确定这是否是问题,但工厂希望您返回一个对象。尝试将其更改为:

angular.module('fofApp', ['appRoutes'])
    .factory('y',['$rootscope',function($rootScope) {
        return { value :"he" }
    }])
于 2014-09-30T21:22:01.997 回答