版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Tank_in_the_street/article/details/78334459
首先先贴这两种错误情况的图:
第一种情况表明的是多指令编译错误,出现这个错误的原因是directive里的第一个参数的名字和所替换的模板的名字发生冲突,解决的办法是改个名字。如我在主页面要引入的模板是这样的:
<div ng-controller="leftmenu"> <left></left> </div>模板的文件名是leftNav.html,而配置模板的js文件是这样写的:
angular.module('MyApp', []) .directive('left', function() { return { restrict: 'ECAM', templateUrl: 'page/leftNav.html', replace: true, link: function (scope,element,attrs) { } } }) .controller('leftmenu', ['$scope', function ($scope) { }])如果把指令里的模块名改成leftNav,则就会出现上面的错误。
第二个错误是模块没有根元素,如上面的leftNav.html,由于没有一个根元素,所以会报错。解决办法是在模板文件里给他添加一个根元素。