$scope.escapeQuotes= function(str) {
return str
.replace(/('|\")/g, "\\$1")
.replace(/("|\")/g, "\\$1")
}
但它似乎沒有不工作。看起來像一個簡單的問題,但我很難找到解決方案。任何指針都是受歡迎的。
$scope.escapeQuotes= function(str) {
return str
.replace(/('|\")/g, "\\$1")
.replace(/("|\")/g, "\\$1")
}
但它似乎沒有不工作。看起來像一個簡單的問題,但我很難找到解決方案。任何指針都是受歡迎的。
我會說使用ng-mouseover
相反,你不必擔心逃避的東西
ng-mouseover="mouseover(landmark.name)"
代碼
$scope.mouseover = function(name){
console.log("Value output:", name)
}
潘卡的回答是好,但如果你確實需要使用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實體將成爲一個單引號:'
那麼如果'''裏面有'name',是正確的? –
你是對的。答案讓它搜索/替換單引號和雙引號,並用它們的HTML實體替換它們:'和" –
Cool .. +1 for unescaping –
好的答案,但我正在從ng-maps和ng-mouseover繪製一個圓圈,因此我不得不使用on-mouseover。其次,使用{{landmark.name} }然後像Landmark.name那樣直接輸入它,那麼添加{{}}會解決什麼問題,因爲移除{{}}似乎是解決我的問題。 –
'{{expression}}'表示您正在評估與括號中指定的範圍有關的表達式。 –
我沒有真正看到你提到你傾向於在地圖中使用它.. –