AngularJS - JS中的HTML - 转义单引号

use*_*863 15 html javascript angularjs

我需要在javascript中执行此操作,我无法在html中执行此操作(至少在没有破坏所有内容的情况下,我希望稍后将其添加到html中).

如果它是普通的html,div看起来像这样('my-border'):

<div class="col-xs-12" ng-class="{'my-border': hasBorder">...</div>
Run Code Online (Sandbox Code Playgroud)

但由于它是在javascript中,整个html行需要用单引号('my-border')包围:

template: '<div class="col-xs-12" ng-class="{'my-border': hasBorder">...</div>'
Run Code Online (Sandbox Code Playgroud)

我试过以下(从这个stackoverflow问题):

"我的边界"

template: '<div class="col-xs-12" ng-class="{"my-border": hasBorder">...</div>'
Run Code Online (Sandbox Code Playgroud)

\"我的边境\"

template: '<div class="col-xs-12" ng-class="{\'my-border\': hasBorder">...</div>'
Run Code Online (Sandbox Code Playgroud)

"我的边界"

template: '<div class="col-xs-12" ng-class="{&#39;my-border&#39;: hasBorder">...</div>'
Run Code Online (Sandbox Code Playgroud)

但我得到语法错误:意外的字符串

我是这个小组的新手,所以我首先搜索了档案,但没有找到任何东西.如果有人可以帮助我或将我链接到现有主题,我将非常感激!

非常感谢您的参与!!

香农:]

rye*_*lar 10

我在你的代码中看到的唯一问题是ng-class指令中没有终止的大括号,它没有}符号.添加之后,转义单引号应该可以解决您的问题.

template: '<div class="col-xs-12" ng-class="{\'my-border\': hasBorder}">...</div>'
Run Code Online (Sandbox Code Playgroud)

请参阅此Plunker作为示例.