【发布时间】:2017-03-27 20:40:49
【问题描述】:
错误:[$compile:multidir] 多个指令 [statbox, statbox] 要求模板:
(在控制台上)
在index.html
里面<script src="js/dashboard/dashboard.module.js"></script>
<script src="js/dashboard/dashboard.component.js"></script>
<script src="js/dashboard/statbox.component.js"></script>
内部 dashboard.module.js
var dashboardModule = angular.module('dashboard', ['ngRoute']);
内部 dashboard.component.js
angular.module('dashboard').component('dashboard', {
templateUrl: 'templates/dashboard/dashboard.template.html',
controller: ['$scope', '$routeParams', '$http', '$rootScope', '$log', function DashboardController($scope, $routeParams, $http, $rootScope, $log) {
...stuff NOT REFERENCING STATBOX by any means...
}]
});
在statbox.component.js
里面angular.module('dashboard').component('statbox', {
templateUrl: 'templates/dashboard/statbox.template.html',
controller: ['$http', '$rootScope', '$log', function StatboxController($http, $rootScope, $log) {
... some random get request ...
}]
});
在app.js
里面var app = angular.module('buttonMasher', ['ngRoute', 'dashboard', ...]);
在dashboard.template.html
里面 ... stuff ...
<div id="history">
... stuff ...
<p><b>Statbox</b></p>
<statbox></statbox>
</div>
内部statbox.template.html
<div id="statbox">
<p>{{$ctrl.statboxText}}</p>
我做错了什么,为什么会出现这个多指令错误?
每当我注释掉<script src="js/dashboard/statbox.component.js"></script>
从 index.html 一切正常,但没有加载 statbox 控制器。
(完整项目在这里:Github: carloworks/masher - 可以在启用配置文件“dev”的情况下克隆和运行 spring。)
【问题讨论】:
-
请在调用这两个组件的地方添加 html 代码
-
@Karim 已编辑,对不起我的错
标签: javascript angularjs angularjs-directive angular-template