2016-08-17 32 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 –

相关问题