为什么指令控制器中定义的变量不起作用?

时间:2016-01-20 07:31:23

标签: angularjs angularjs-scope angular-directive

为什么我在控制器中定义了'sayHi',它没有显示在模板中?

JS:

(function(){
var app = angular.module('myApp', []);

app.directive("directive1", function(){
    return {
        restrict : 'E',
        scope: {

        },
        link : function($scope){        

        },

        controller: ['$scope', function($scope){
          $scope.sayHi = 'hi';
          window.console.log($scope.sayHi);
        }]

    };  
});
})();

HTML:

<div style="border: 1px solid; padding: 10px; min-height: 100px;">
Directive1 :   
<directive1>
    {{sayHi}}
</directive1>
</div>

detail plnkr

1 个答案:

答案 0 :(得分:2)

您的指令没有任何模板。你需要添加

template: '{{ sayHi }}',

到您的指令定义。 <directive1></directive>内的内容不构成指令的模板。