繁体   English   中英

将Angularjs服务注入控制器

[英]Injecting Angularjs service into controller

我正在构建一个相当简单的Angularjs应用,其中包括基于js的简单游戏,主视图和游戏视图。 我在这里张贴了大部分代码

http://jsfiddle.net/Seasamh/5bqq1bj8/

这是html模板的代码

home.html的

    <span>This is a main page</span>
    <a ng-click="setRoute('game')">Play game</a>

game.html

<div id="timer"></div>
<div class="col-md-6 left">
    <div id="leftNumber"></div>
</div>
<div class="col-md-6 right">
        <div id="rightNumber"></div>
</div>

游戏over.html

<span>Game over!</span>

尽管计时器启动并可以正常工作,但是在渲染游戏的实际代码时遇到了问题。 游戏代码存储在服务中,我正在尝试将其注入控制器中。 到目前为止,我失败了。

我还使用带有noConflict()的jQuery来操作DOM。 提前致谢。

使用数组语法时,您没有正确声明控制器:

这个:

gameApp.controller('mainController', ['$scope', '$location', 'game', function($scope, game){

应该:

gameApp.controller('mainController', ['$scope', '$location', 'game', function($scope, $location, game){

数组表示法是这样的,因此,如果将JavaScript缩小,则上面的代码将继续起作用。 您将所有要作为字符串插入到数组中的东西列出,然后需要以与函数参数相同的顺序指定它们。

编辑

实际上,您的小提琴似乎还有其他一些问题。 我通常使用plnkr,但不确定如何加载角度。 修复上述问题后,出现有关“ gameApp”模块不可用的错误。

我通过摆弄小提琴来解决这个问题。 但是,下一个错误是Angular模块“ ngRoute”不可用。 b / c,这是我停下来的地方,我不确定您如何告诉小提琴手加载ng-route javascript文件。

我已经回答了您提出的问题,希望您的应用现在可以在小提琴之外使用了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM