2014-01-25 143 views
0

我研究這個鏈接AngularJS指令:DirectivesAngularJS,指令

當我達到約上一個例子:通信的

我沒有找到這條線(從的script.js)創建指令:

title: '@' // Line 33 at the script.js 

的問題是,我不知道這是什麼意思行,我只知道那個標題是一個孤立的範圍屬性,但什麼是@,我瞭解到:

  • '=' is where the attribute name is the same as the value
  • '=info' where info is the attribute

但是從上面的鏈接沒有解釋什麼是@的文檔,我最好的猜測是,當@是值,該值分配給title屬性是標題屬性的價值,但我不確定是否有人可以幫助我理解它是什麼,我將非常感激,謝謝大家,祝你有美好的一天。

+0

https://開頭這裏的egghead.io/lessons是更好的文檔。查看關於@參數的視頻。 – Rantiev

+0

謝謝你的網站Rantiev。 –

回答

4

@是一種獨立的作用域綁定(如=)。但是,@表示只將的值的屬性和而不是創建到外部作用域的雙向綁定。

所以,如果你想在指令中使用某個值,但這個值在指令實例的持續時間內沒有改變,那麼@是個不錯的選擇。

一個簡單的例子是,如果你想設置的指令模板顏色:

<my-color-box color="red"></my-color-box> 

然後,在該指令使用這樣的屬性:

app.directive('myColorBox', function() { 

    return { 
     restrict: E, 
     scope: { 
     color: '@' 
     }, 
     template: '<div style="background-color: {{color}}"></div>' 
    } 
}); 
+0

似乎是真的。 – Rantiev

+0

謝謝達文,我想我現在明白了。 –

+0

首先要理解可能會非常棘手,但一旦開始使用它們,它就會有意義。 –