Javascript ng内项目上的正则表达式重复
我目前正在构建一个使用Soundcloud SDK的应用程序,我需要能够在artwork_url上运行regexp,以将Javascript ng内项目上的正则表达式重复,javascript,regex,angularjs,Javascript,Regex,Angularjs,我目前正在构建一个使用Soundcloud SDK的应用程序,我需要能够在artwork_url上运行regexp,以将-large替换为500x500,根据: 这是我的方法,似乎不会触发artworkRegex: <li ng-repeat="track in tracks"> <div class="track-artwork" style="background-image: url('{{ track.artwork_url | filter: artworkR
-large
替换为500x500
,根据:
这是我的方法,似乎不会触发artworkRegex:
<li ng-repeat="track in tracks">
<div class="track-artwork" style="background-image: url('{{ track.artwork_url | filter: artworkRegex }}');"></div>
<div class="track-details">
track info
</div>
</li>
$scope.artworkRegex = function (artwork) {
console.log(artwork);
}
轨道信息
$scope.artworkRegex=函数(艺术品){
控制台日志(艺术品);
}
<> P> >运行一个ReXEP <代码>轨道.ARTWORKURL > P>你没有过滤器,而你所拥有的是一个范围内的方法,也使用“代码> NG风格< /代码>而不是样式,这样浏览器就不会把表达式看作无效的样式并将其剥离。
ng-style="{'background-image': 'url(' + artworkRegex(track.artwork_url) + ')'}"
或者,如果要创建筛选器,请使用筛选器语法:-
.filter('artworkRegex', function () {
return function(artwork){
.....
return newtransformedartwork;
}
});
并将其用作:-
ng-style="{'background-image': 'url(' + (track.artwork_url | artworkRegex) + ')'}"
我将让您以正确的方式实现它,例如使用纯Javascript:
var url = 'http://i1.sndcdn.com/avatars-000000011308-xq0whu-large.jpg?b17c165';
var result = url.replace(/-large\b/, '-t500x500');
试试ng风格:
<div class="track-artwork" ng-style="background-image: url('{{ track.artwork_url | filter: artworkRegex }}');">