我有一個< ul>,它會被服務器填充。但在該控制器中還有一個iframe。當< li>到達時,即使它們在同一個控制器中,它們和iframe之間仍有一些斷開。在注入的元素上獲得ng-click,以更改已經在視圖中的元素的類?
當你點擊其中一個li應該改變iframe上的類,但它不是。但是,如果我在注入iframe的ng-repeat內部移動iframe,它將起作用。
查看
<div class="content" ng-controller="FeedListCtrl">
<ul>
<li ng-repeat="item in items">
<div data-link="{{item.link}}" ng-click="articleShowHide='fade-in'">
<div ng-bind-html="item.title" style="font-weight:bold;"></div>
<div ng-bind-html="item.description"></div>
<!-- it works if i put the iframe here -->
</div>
</li>
</ul>
<!-- doesn't work when the iframe is here -->
<iframe id="article" ng-class="articleShowHide" src=""></iframe>
</div>
這裏是控制器。它的AJAX調用來獲取數據,每個< LI>
控制器
readerApp.controller('FeedListCtrl', ["$scope", "$http", "FeedListUpdate", function ($scope, $http, FeedListUpdate) {
$scope.setFeed = function (url) {
$http.get('feed?id=' + FeedListUpdate.GetCurrentFeedUrl()).success(function (data) {
$scope.items = data.currentFeed.items;
});
};
}]);
更好的方法是將articleShowHide作爲對象並使用像'articleShowHide.class ='fade-in''這樣的語法,然後綁定到'articleShowHide.class'屬性。 – Chandermani
@Chandermani那也行!一旦OP瞭解範圍的工作方式,就有許多優秀的解決方案! –