AngularJS自定义指令不起作用

时间:2015-10-12 15:39:51

标签: angularjs angularjs-directive

尝试了几种不同的解决方案,不确定我到底哪里出错了。我知道该指令已正确链接,并尝试使用模板而不是templateURL来测试它是否会以这种方式工作,但没有。

指令:

app.directive('printTasks', function() {
return {
    restrict: 'E',
    replace: 'true',
    scope: {
        info: '='
    },
    templateUrl: '../printTasks.html'
};
});
console.log('printTasks is linked');

以HTML格式调用:

            <section ng-controller="MainController">
                <header>This Week
                    <a href="">
                        <i class="fa fa-2x fa-stack-2x fa-plus"></i>
                    </a>
                </header>
                <printTasks/>
            </section>

我也尝试过,但也没有用过。 有人有什么想法吗?

2 个答案:

答案 0 :(得分:3)

在上述写derictive的情况下要考虑几点 -

  1. 如果使用restrict: 'E',您应该使用指令作为元素,并且应该具有自定义属性&#34; info&#34;如下

  2. 当您在指令中使用replace:true时,模板应该具有单个根元素。 More information

答案 1 :(得分:2)

在html上使用时应该使用camel case,同时指令元素也不应该像<printTasks/>那样自动关闭,因为你已经定义了自己的自定义元素。

<print-tasks></print-tasks>