AngularJS指令修改URL

美度

在我的模板中,我能够使用

ng-style="{'background-image':'url({{f.flower.imageURL}})'}"

imageURL始终返回具有URL的高分辨率图像,例如

https://s3.amazonaws.com/images/FlowerImages/Rose_1920.jpg

但是,端点还具有较小的图像,例如

https://s3.amazonaws.com/images/FlowerImages/Rose_320.jpg
https://s3.amazonaws.com/images/FlowerImages/Rose_480.jpg
https://s3.amazonaws.com/images/FlowerImages/Rose_1024.jpg

我将如何创建指令以遍历URL直至下划线并传递我想要的大小(取决于视图)以在下划线和.jpg之间进行更新?

pgreen2

根据您的示例,我认为您不需要指令。只需向您的控制器添加一个功能即可。

代替

ng-style="{'background-image':'url({{f.flower.imageURL}})'}"

ng-style="{'background-image':'url({{generateImageUrl(f.flower.imageURL, 320)}})'}"

并且您的控制器将具有标准的javascript来操纵url:

function generateImageUrl(url, size) {
  var n = url.lastIndexOf("_");
  var beforeUnderscore = url.substring(0, n);
  var afterUnderscore = url.substring(n+1);
  var suffix = afterUnderscore.split('.')[1];

  return beforeUnderscore + "_" + size + "." + suffix;
}

同样的功能也适用于图像

<img ng-src="{{generateImageUrl(f.flower.imageURL, 320)}}">

注意:ng-src用于代替src启动角度引导之前阻止浏览器请求URL。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AngularJS,指令

来自分类Dev

在指令中修改模型

来自分类Dev

Angular指令修改范围

来自分类Dev

尽管加载了文件URL,但AngularJS指令templateUrl返回400

来自分类Dev

AngularJs:带有Url参数的init指令模型

来自分类Dev

AngularJS:修改带有'= xxx'隔离范围的指令中父范围的模型吗?

来自分类Dev

在AngularJS指令中绑定到html之前修改HTML的最佳方法

来自分类Dev

在AngularJS指令中绑定到html之前修改HTML的最佳方法

来自分类Dev

如何修改angularjs指令后面指定的模型(ng-model值)?

来自分类Dev

AngularJS全局修改$ http中每个请求的URL

来自分类Dev

如何在angularjs中修改服务url参数

来自分类常见问题

从AngularJS中的指令添加指令

来自分类Dev

AngularJS中的指令内部指令?

来自分类Dev

AngularJS:在指令中包装指令

来自分类Dev

AngularJS如何编译指令?

来自分类Dev

AngularJS:了解递归指令

来自分类Dev

AngularJS指令:子节点

来自分类Dev

表头的AngularJS指令

来自分类Dev

AngularJs指令问题

来自分类Dev

AngularJS:包含指令模板

来自分类Dev

AngularJS指令链

来自分类Dev

Google Pagedown AngularJS指令

来自分类Dev

AngularJS IF指令使用列

来自分类Dev

AngularJS:扩展输入指令

来自分类Dev

angularjs指令'dataSource'And =

来自分类Dev

AngularJs指令加载事件

来自分类Dev

AngularJS指令多个视图

来自分类Dev

AngularJS jQuery指令

来自分类Dev

改进AngularJS指令代码