2016-08-17 18 views

回答

3

我會說使用ng-mouseover相反,你不必擔心逃避的東西

ng-mouseover="mouseover(landmark.name)" 

代碼

$scope.mouseover = function(name){ 
    console.log("Value output:", name) 
} 
+0

好的答案,但我正在從ng-maps和ng-mouseover繪製一個圓圈,因此我不得不使用on-mouseover。其次,使用{{landmark.name} }然後像Landmark.name那樣直接輸入它,那麼添加{{}}會解決什麼問題,因爲移除{{}}似乎是解決我的問題。 –

+0

'{{expression}}'表示您正在評估與括號中指定的範圍有關的表達式。 –

+0

我沒有真正看到你提到你傾向於在地圖中使用它.. –

1

潘卡的回答是好,但如果你確實需要使用on-mousever,可以用HTML實體替換單引號和雙引號,這樣可以防止它們打破mousever函數調用的外引號:

on-mouseover="mouseover(\"{{ landmark.name.replace(/'/g, "'").replace(/"/g, """) }}\")" 

然後landmark.name可以安全地包含單個或引號,它不會導致任何問題。

所以,如果landmark.name等於`公爵的車」,你的HTML將renderlike這個(角編譯之後):

on-mousever="mouseover(\"Duke's Car\")" 

每當這是由瀏覽器渲染時,' HTML實體將成爲一個單引號:'

+0

那麼如果'''裏面有'name',是正確的? –

+0

你是對的。答案讓它搜索/替換單引號和雙引號,並用它們的HTML實體替換它們:'和" –

+0

Cool .. +1 for unescaping –

相關問題