8

這裏是我創建了一個指令:AngularJS:指令 - 傳遞字符串,而無需使用引號

HTML:

<p-test something="'bla'"></p-test> 

的JavaScript:

.directive('pTest', function() { 
    return { 
     scope: { 
      something: '=?' 
     }, 
     templateUrl: 'components/testTemplate.html', 
     controller: 'testController' 
    }; 
}); 

我希望能夠通過'bla'作爲沒有''的字符串,方法如下:

<p-test something="bla"></p-test> 

我知道這可能通過鏈接中的attributes參數,但在這種情況下(如果我錯了,請糾正我),因爲我將這些參數直接傳遞給作用域。

回答

14

我希望能夠通過「BLA」作爲一個字符串沒有',以下列方式:

你只需要文本裝訂(@)的結合那,而不是2路綁定。

.directive('pTest', function() { 
    return { 
     scope: { 
      something: '@?' //<-- Here 
     }, 
     templateUrl: 'components/testTemplate.html', 
     controller: 'testController' 
    }; 
}); 

並與文本綁定,如果你想綁定範圍屬性,然後使用插值。即例如,如果BLA是一個範圍變量保存一個字符串,然後就去做:

<p-test something="{{bla}}"></p-test> 

Plnkr

+0

學到新的東西,謝謝。 –

+1

不得不等待10分鐘,然後忘記。你走了。 –

+0

謝謝!知道我可以爲模板中的元素賦值! – Herman