2015-10-12 226 views
1

嘗試了幾種不同的解決方案,不知道我到底在哪裏出錯。我知道該指令是正確鏈接的,並且已經嘗試過模板而不是templateURL來測試它是否會以這種方式工作,但沒有任何結果。AngularJS自定義指令不起作用

指令:

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> 

我也試着使沒有任何工作。 任何人有任何想法?

回答

3

幾點以書面derictive的上述情況考慮 -

  1. 如果使用restrict: 'E',應該有自定義屬性「信息」,如下圖,您應該使用指令,因爲元素

  2. 當您在指令中使用replace:true時,模板應該有單根元素。 More information

2

在使用html時應該使用camel case,同時指令元素不應該像<printTasks/>那樣自行關閉,因爲您已經定義了您自己的自定義元素。

<print-tasks></print-tasks> 
+0

因此,您使用駱駝案例來命名一個指令,然後它被轉換爲連字符格式?改變它似乎做了一些事情,指令仍然沒有顯示,但控制檯現在顯示以下錯誤:http://i.imgur.com/h4ZH05a.png – ladanta