【发布时间】:2013-11-07 09:36:35
【问题描述】:
我目前有一个 underscore.js 模板,我也想将它与 angular 一起使用,并且仍然能够与下划线一起使用。我想知道是否可以使用指令更改特定范围的插值开始和结束符号,如下所示:
angular.directive('underscoreTemplate', function ($parse, $compile, $interpolateProvider, $interpolate) {
return {
restrict: "E",
replace: false,
link: function (scope, element, attrs) {
$interpolateProvider.startSymbol("<%=").endSymbol("%>");
var parsedExp = $interpolate(element.html());
// Then replace element contents with interpolated contents
}
}
})
但这会吐出错误
错误:未知提供程序:$interpolateProviderProvider
$interpolateProvider 是否只能用于模块配置?更好的解决方案是简单地使用字符串替换将<%= 更改为{{ 和%> 更改为}}?
另外,我注意到element.html() 转义了<%= 中的< 和%> 中的>。有没有办法防止这种自动转义?
【问题讨论】:
标签: javascript angularjs underscore.js angularjs-directive