javascript - 在 Angularjs 中操作 {} 内的字符串

标签 javascript angularjs

我是 Angularjs 的新手。我做了一些测试,但我找不到是否有办法做这样的事情:

<li ng-repeat="article in articles" class="thumbnail">
    <img  ng-src="{{encodeURI(article.image)}}"></a>
</li>

想法是使用原生 JS 函数来操作字符串。

最佳答案

您不必在这些场景中使用 interpolate 指令。您可以使用更容易理解的东西,例如函数。

<li ng-repeat="article in articles" class="thumbnail">
<img ng-src="encode(article.image)">
</ii>

现在 encode 应该是包含文章的范围或内部范围中的函数(注意:ng-repeat 为它创建的每个项目创建一个新范围。因此在这个例子中,每篇文章都会有一个新的范围)。

假设您的 Controller 名为 ArticleCtrl(我假设)

function ArticlesCtrl($scope){
    $scope.articles = [];
    $scope.encode = function(url){
        return encodeURI(url);
    }
}

关于javascript - 在 Angularjs 中操作 {} 内的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12766167/

相关文章:

javascript - 如何修复 redux 的 Action Creator 中的异步调用中的 "undefined"问题?

javascript - <li> 将鼠标悬停在 <div> 内部的事件

javascript - 如何使用JavaScript或jQuery刷新父页面后保留iframe src?

javascript - 没有嵌套的子状态的 UI 路由器

angularjs - Chrome 网络计时,如何改进内容下载

javascript - 动态索引数组 angularJs

javascript - jQuery - 禁用单击,直到所有链接的动画完成

javascript - 如何找到滚动条终点释放

javascript - 无法使用 angularjs 下载有效的 zip 文件,但是直接点击我的其余 api 即可正常工作

angularjs - Angular Materials - MD 内容滚动后的页脚