Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ng内项目上的正则表达式重复_Javascript_Regex_Angularjs - Fatal编程技术网

Javascript ng内项目上的正则表达式重复

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

我目前正在构建一个使用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: 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 }}');">