中に作成されるbackground-image
それぞれのプロパティを設定できるようにしたいと思います。div
ng-repeat
ループng-class
内の適切な div に適切なクラスを追加するために使用しようとしましたが、そこに必要なクラスを書きすぎているようです。ng-repeat
ng-class
.tile
また、補足として、Google Dev Tools でソースを表示すると、すべての AngularJS コードがソースに表示されるのはなぜですか? そこにすべてのロジックが表示されます。そんなはずないですよね?
クラスを上書きし たり、ソースに適切に表示したりせずに、適切なクラスを適切なdivng-class
に追加するにはどうすればよいですか?.tile
私のコントローラーmain.js
'use strict';
angular.module('mmApp')
.controller('MainCtrl', function ($scope) {
$scope.designTiles = [
{ bgImageClass : "best-show-premium", title : "Vance & Gary Unhinged", use : "Album Art" },
{ bgImageClass : "dam-funk", title : "Dam-Funk", use : "Logo" },
{ bgImageClass : "lemy-leopard-soh", title : "Lemy Leopard : Streets of House", use : "Album Art" },
{ bgImageClass : "culture-blind", title : "Max Mythic : Culture Blind", use : "Album Art" },
{ bgImageClass : "future-shock-logo", title : "Future Shock Logo", use : "Logo" },
{ bgImageClass : "fame-logo", title : "F.A.M.E. Logo", use : "Logo" },
{ bgImageClass : "lounge-coffee", title : "Loung Coffee", use : "Album Art" },
{ bgImageClass : "engine-yard-tshirt", title : "Engine Yard T-Shirt", use : "T-shirt Design" },
];
});
私のdesign.html
見解
<section ng-controller="MainCtrl" class="ng-class: {tile.bgImageClass:true};" class="main">
<div ng-repeat="tile in designTiles" class="tile">
<h3 class="tile_title">{{tile.title}}</h3>
<h4 class="tile_use">{{tile.use}}</h4>
</div>
</section>
アップデート
sh0berが提案した変更を追加しました。これが私の新しいdesign.html
見方です
<section ng-controller="MainCtrl" class="main">
<a ng-repeat="tile in designTiles" ng-href="{{tile.url}}" ng-class="['tile', tile.bgImageClass]">
<h3 class="tile_title">{{tile.title}}</h3>
<h4 class="tile_use">{{tile.use}}</h4>
</a>
</section>
しかし、これは実際tile.bgImageClass
には<a>
要素には適用されません。これが開発者ツールに表示されるものです
最初に見たもの<a>
を見ると
<a ng-repeat="tile in designTiles" ng-href="#/design/vance-and-gary-unhinged" ng-class="['tile', 'tile.bgImageClass']" class="ng-scope tile tile.bgImageClass" href="#/design/vance-and-gary-unhinged">
<h3 class="tile_title ng-binding">Vance & Gary Unhinged</h3>
<h4 class="tile_use ng-binding">Album Art</h4>
</a>
適用されているクラスを見ると、
class="ng-scope tile tile.bgImageClass"
この特定の場合、<a>
代わりに表示する必要があります
class="ng-scope tile vance-and-gary-unhinged"
クラスはの.vance-and-gary-unhinged
直後に適用されていません.tile
。なぜ tile.bgImageClass
そこに配置されているのですか?AngularJS がクラスを取得していないようです。私は何を間違っていますか?