【发布时间】:2015-12-29 09:12:36
【问题描述】:
我的目标是使角度表达式的一部分变粗。
所以基本上我正在获取一个对象obj,并将其转换为字符串str。
obj = $scope.gridOptions1.api.getFilterModel();
for (var propt in obj) {
str += (" " + propt + ': ' + obj[propt]);
}
然后我需要在该对象中找到一个特定的词,例如“Depot”。我正在使用str.indexOf("Depot") 执行此操作。我将其设置为变量d:
for (i = 0; i < str.length; i++) {
var d = str.indexOf("Depot");
}
然后我用粗体“仓库”替换原来的“仓库”:
if (d !== -1 ) {
var depot = str.substring(d, d + 5);
finalString = str.replace(depot, depot.bold());
}
然后我将我的字符串发射到范围:
$scope.getFiltered = finalString;
.bold() 方法只是在我的 UI 中返回带有“Depot”周围的粗体标签的字符串。
所以我认为该字符串不被视为 HTML, 还有其他方法吗?
【问题讨论】:
-
在需要加粗的字符串中添加一个类不是更简单吗?
-
我不这么认为,在这种情况下,字符串中可能有也可能没有“Depot”这个词,它也可能有也可能没有我想要的其他几个词大胆。我基本上做了一个搜索功能,让这些词无论在哪里弹出都加粗。再加上它是一个角度表达......
-
我不明白你的问题...“所以我认为该字符串不被视为 HTML”是什么意思
-
我如何制作一个角度表达式的一部分,所以在 {{ 和 }} 之间传递给你的 HTML 的字符串,粗体......因为传入的字符串是'不受使用 .bold() 的粗体标签的影响。他们会是如果只使用没有角度的javascript
-
你的意思是
<div>{{str}}</div>,其中str="some text with Depot",这应该输出<div>some text with <strong>Depot</strong></div>..?
标签: javascript html angularjs angularjs-scope