2014-02-26 79 views
0

我是AngularJS的新手,并且正在学习指令。我使用的教程从egghead.io和我坚持用下面的例子:指令中的模板不会出现

<html> 
<head lang="en"> 
    <script type = "text/javascript" src = "../libs/angular/angular.js" ></script > 
    <script type = "text/javascript" src = "example.js" ></script> 
</head> 
<body> 

    <div ng-app="phoneApp"> 
     <div ng-controller="phoneCtrl"> 
      <phoneDir></phoneDir> 
    </div> 
</div> 
</body> 
</html> 

example.js包含此:

var app = angular.module('phoneApp',[]); 

app.controller('phoneCtrl',function($scope) { 

}); 

app.directive('phoneDir',function() { 
    return { 
     restrict:"E", 
     template:'<div> Panel </div>' 
    }  
}) 

它,这只是试图在用一个指令一个很简单的例子HTML问题是我没有看到在模板中定义了“面板”的div。有人可以帮忙吗?

+2

使用''指令是驼峰只是在代码中,它们在标记 – doodeec

+0

复姓@doodeec:是的,解决了它。如果你可以发布这个答案,我会关闭它。谢谢! – codewarrior

回答

2

指令只在代码中使用驼峰名称,标记使用复姓名字

使用

<phone-dir> 
0

尝试添加replace:true属性。我认为这会解决你的问题。

app.directive('phoneDir',function() { 
return { 
    restrict:"E", 
    replace: true, 
    template:'<div> Panel </div>' 
}  
}) 
+0

这没有奏效。 – codewarrior

+0

只替换集合,是在标签内添加模板还是在标记中显示而不是标签 – doodeec

+1

doodeec是完全正确的。我完全忽略了这一点。您需要在标记中连字符的名称,而不是使用骆驼大小写(仅在HTML中)。 – MDiesel