我正在访问类名并在控制台中打印它们。这适用于编译,前置,后置,但获取指令控制器的错误。有人可以解决吗?由编译,前,后,但不是由指令控制器返回的类名称
//module declaration
var app = angular.module('myApp',[]);
//controller declaration
app.controller('myCtrl',function($scope){
$scope.name = "Peter";
});
//app declaration
app.directive('myStudent',function(){
return{
\t template: "Hi! Dear!! {{name}}<br/>",
\t compile:function(elem, attr){
\t \t console.log("compile");
\t \t return{
\t \t \t pre:function(scope,elem,attr){
\t \t \t \t console.log("pre" + attr.class);
\t \t \t },
\t \t \t post: function(scope,elem,attr){
\t \t \t \t console.log("post"+ attr.class);
\t \t \t } \t \t \t \t \t
\t \t }
\t },
\t controller: [function(scope, elem, attr){
\t \t console.log("controller" + attr.class);
\t }]
}
});
<body ng-app="myApp" ng-controller="myCtrl">
<my-student class="one"></my-student>
<my-student class="two"></my-student>
<my-student class="three"></my-student>
<my-student class="four"></my-student>
<my-student class="five"></my-student>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.5/angular.min.js"></script>
</body>
什么是你的片段应该显示在运行时?我看起来不像是在任何地方访问'name'。我在输出中的任何地方都看不到“Peter”,而不是显示“{{name}}”的页面或控制台(它只是反复显示“compile”)。 –
评论控制器,你会看到。 – Deadpool