1

我正在尝试实现来自https://github.com/Ciul/angular-facebook的代码或更具体地说来自http://plnkr.co/edit/dDAmvdCibv46ULfgKCd3?p=preview的代码

我包含了来自http://rawgithub.com/Ciul/angular-facebook/master/lib/angular-facebook.js和 script.js的 Javascript 代码

在 script.js 中,我替换了:

angular.module('CiulApp', ['facebook'])

angular.module('app', ['facebook'])

因为我已经有一个名为“app”的模块,它是整个站点的模块:

<html data-ng-app="app">

但是,我在浏览器控制台中收到以下错误:

错误:未知提供者:app.configProvider <- app.config

在错误()

http://localhost:8888/bower_components/angular-complete/angular.js:2652:15

...

...

我无法弄清楚为什么会出现此错误。

我的 app.js 文件中有一个名为“app.config”的模块:

angular.module('app.config', []).value('app.config', { ....   })

但是,我不认为我的 app.config 模块是问题的根源,因为我已经更改了它的名称,但我仍然遇到同样的错误。(在尝试实施http://plnkr.co/edit/dDAmvdCibv46ULfgKCd3?p=preview之前,我没有收到任何错误)

任何人都可以帮忙吗?

4

2 回答 2

2

那么,现在您的代码中是否有超过 1 行这样的行:

angular.module('app', [...

?

一个用于初始化模块,另一个用于处理 Facebook 身份验证?如果是,试试这个:

找到第一次出现的代码(即声明模块的位置)并将所有依赖项声明放在那里:

angular.module('app', ['facebook', 'other dependencies...'])

然后,找到您正在处理 FB 身份验证的另一行,并将其替换为:

angular.module('app').doYourStuff(

这样,您只需声明一次模块,当您想要更改它时,您将获得已经初始化的版本,而不是一遍又一遍地创建另一个模块。

于 2013-10-20T06:18:21.027 回答
0

如果您提供非工作代码的 jsFiddle/plunker 会更容易。无论如何,您似乎正在用自己初始化您的“app.config”模块

angular.module('app.config', []).value('app.config', { ....   }) 

并且因为您没有提供足够的信息,我猜您试图在代码中的某处注入您的“app.config”?

如果你想配置你的“应用程序”,你应该这样做

angular.module('myModule',[]).value('foo'{bar:'abc'})

angular.module('app',['myModule']).config(function($routeProvider){

     $routeProvider.when('/',{templateUrl: 'partials/phone-list.html', controller:'SomeCtrl')

 }).run(function($foo){
     alert($foo.bar)
   })

还可以查看文档如何使用模块。AngularJS:模块

于 2013-10-20T10:17:13.357 回答