自定义指令不显示{{variable}}值

时间:2015-07-19 17:05:47

标签: javascript angularjs

我有这个Angular控制器:

app.controller("timelineCtrl", function ($scope) {
    $scope.user="john";
         .
         .
         .
}

这条指令:

app.directive('helloWorld', function() {
    return {
        restrict: 'AE',
        replace: true,
        template: '<div> Hello World {{user}} </div>'
    };
});

和这个观点:

<div class="row" ng-controller="timelineCtrl">
     <hello-world></hello-world>
</div>

但我在结果html中得到了这个:

Hello World {{user}}

为什么{{user}}没有被解释为$scope.user值?

1 个答案:

答案 0 :(得分:0)

将控制器附加到指令定义。

app.directive('helloWorld', function() {
    return {
        restrict: 'AE',
        replace: true,
        controller: 'timelineCtrl',
        template: '<div> Hello World {{user}} </div>'
    };
});

编辑;鉴于您最近的编辑,我不确定问题是什么,无论如何 - 这里有jsBin向您展示如何运作。

只是为了澄清(对于任何可能正在阅读此内容的人);你不需要将控制器附加到你的指令。如果你愿意,你可以。这样做没有错 - 即使指令没有提供它自己的孩子/隔离范围。