1

私はAngularjsを初めて使用します。私はいくつかのテストを行っていますが、次のようなことを行う方法があるかどうかを見つけることができませんでした:

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

アイデアは、ネイティブJS関数で文字列を操作することです。

4

1 に答える 1

6

これらのシナリオでは、interpolate ディレクティブを使用する必要はありません。関数のように、もっとわかりやすいものを使用できます。

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

これで、encode は、記事を含むスコープまたは内部スコープの関数である必要があります (注: ng-repeat は、作成するアイテムごとに新しいスコープを作成します。したがって、この例では、記事ごとに新しいスコープがあります)。

あなたのコントローラが ArticleCtrl と呼ばれているとしましょう (私は仮定します)

function ArticlesCtrl($scope){
    $scope.articles = [];
    $scope.encode = function(url){
        return encodeURI(url);
    }
}
于 2012-10-07T08:49:16.027 に答える