Javascript 非常奇怪的角度模板渲染问题

Javascript 非常奇怪的角度模板渲染问题,javascript,angularjs,ngresource,angularjs-components,Javascript,Angularjs,Ngresource,Angularjs Components,我在index.html中有以下代码 ...... <my-test-app></my-test-app> <script src="bower_components/angular/angular.js"></script> <script src="bower_components/angular-component-router/angular_1_router.js"></script> <!--<sc

我在index.html中有以下代码

......
<my-test-app></my-test-app>

<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-component-router/angular_1_router.js"></script>
<!--<script src="bower_components/angular-animate/angular-animate.js"></script>-->
<script src="bower_components/angular-resource/angular-resource.js"></script>

<script src="my-test/module.js"></script>
<script src="my-test/my-test-app.component.js"></script>
<script src="my-test/static/dashboard.component.js"></script>

<script src="components/version/version.js"></script>
<script src="components/version/version-directive.js"></script>
<script src="components/version/interpolate-filter.js"></script>
在my-test-app.component.html中

<nav class="navbar navbar-default navbar-inverse container-fluid">
    <div class="container-fluid">
        <div class="navbar-header"><a class="navbar-brand" href="#">China deal</a></div>
        <ul class="nav navbar-nav navbar-left">
            <li><a ng-click="['StaticDashBoard']">Static - Dashboard</a></li>
        </ul>
    </div>
</nav>
<div class="container">
    <ng-outlet></ng-outlet>
</div>
而/my test/static/dashboard.component.html只有一行

Test.....
现在我添加了一个新的文件service.js

'use strict';
angular.module('myTest', ['ngResource'])
.factory('DashboardService', ['$resource', function ($resource) {
    return $resource('http://localhost:5000/api/Dashboard/:id', { id: '@id' }, { update: { method: 'PUT' } });
}]);
到目前为止一切正常,我可以看到菜单下显示的文本“Test…”。但是,在我将
添加到main index.html页面后,“Test…”的显示消失了,如下所示

<script src="my-test/module.js"></script>
<script src="service.js"></script>
<script src="my-test/my-test-app.component.js"></script>
<script src="my-test/static/dashboard.component.js"></script>
我的测试/static/dashboard.component.js

(function () {
    "use strict";
    var module = angular.module("myTest");
    module.component("dashboard", {
        templateUrl: "/my-test/static/dashboard.component.html",
    });
})();
(function () {
    "use strict";
    var module = angular.module("myTest");
    module.component("dashboard", {
        templateUrl: "/my-test/static/dashboard.component.html",
        controllerAs: "model",
        controller: ['DashboardService', controller]
    });
})();
错误:

angular.js:13920 Error: [$injector:unpr] Unknown provider: $resourceProvider <- $resource <- DashboardService
http://errors.angularjs.org/1.5.8/$injector/unpr?p0=%24resourceProvider%20%3C-%20%24resource%20%3C-%20DashboardService
    at angular.js:68
    at angular.js:4511
    at Object.getService [as get] (angular.js:4664)
    at angular.js:4516
    at getService (angular.js:4664)
    at injectionArgs (angular.js:4688)
    at Object.invoke (angular.js:4710)
    at Object.enforcedReturnValue [as $get] (angular.js:4557)
    at Object.invoke (angular.js:4718)
    at angular.js:4517

angular.js:13920错误:[$injector:unpr]未知提供程序:$resourceProvider您正在使用此行在service.js文件中重新创建模块

angular.module('myTest',['ngResource'])

添加第二个参数将创建模块,如果您只想获取模块,请使用下面的获取方法

angular.module('myTest')

并将依赖项
ngResource
移动到创建模块的
module.js
文件中


更新我认为页面变为空白的原因是您将service.js放在最后,然后在您创建组件后它会重新创建模块

您的意思是
dashboard.component.html
有“Test…”吗?您正在用这一行重新定义
myTest
模块~
angular.module('myTest',['ngResource']
service.js
中,我纠正了这个问题。因此
angular.module('myTest',['ngResource'])
将重新创建模块,但是
angular.module('myTest')
不会。是的,如果不添加第二个参数,它只会得到模块,
angular.module('myTest'))
是一个getterMy第一个版本是
angular.module('myTest').factory(..
),但它遇到了找不到ngResource的错误,所以我添加了第二个参数。现在我首先分配它
var module=angular.module(“chinaDeal”);module.factory(..
现在似乎可以工作了。仍然很奇怪。@dc7a9163d9就像我说的你缺少了
ngResource
注入。添加以下内容:
var module=angular.module(“chinaDeal”),[“ngComponentRouter”,“ngResource”];
到你的module.js文件中,@dc7a9163d9等等,这些是不同的模块……?你在哪里创建“myTest”模块?您需要将
ngResource
注入该模块,类似于:
angular.module(“myTest”,“ngResource”]);
出现该错误的原因是
ngResource
未注入“myTest”模块
(function () {
    "use strict";
    var module = angular.module("myTest", ["ngComponentRouter"]); // tried to put StaticDataService here but got error. 
    module.value("$routerRootComponent", "myTestApp");
})();
(function () {
    "use strict";
    var module = angular.module("myTest");
    module.component("dashboard", {
        templateUrl: "/my-test/static/dashboard.component.html",
        controllerAs: "model",
        controller: ['DashboardService', controller]
    });
})();
angular.js:13920 Error: [$injector:unpr] Unknown provider: $resourceProvider <- $resource <- DashboardService
http://errors.angularjs.org/1.5.8/$injector/unpr?p0=%24resourceProvider%20%3C-%20%24resource%20%3C-%20DashboardService
    at angular.js:68
    at angular.js:4511
    at Object.getService [as get] (angular.js:4664)
    at angular.js:4516
    at getService (angular.js:4664)
    at injectionArgs (angular.js:4688)
    at Object.invoke (angular.js:4710)
    at Object.enforcedReturnValue [as $get] (angular.js:4557)
    at Object.invoke (angular.js:4718)
    at angular.js:4517