【发布时间】:2016-03-11 07:37:55
【问题描述】:
我看到了从 Angular 作为资源呈现的引号。我隐藏了部分报价,但单击后会显示报价的其余部分。我遇到的问题是让引用的正文正确切换。
我已经设置好了,所以在角度控制器中,dom 元素的可见性在点击时在隐藏和可见之间切换。我当前的代码有一些错误(已经很晚了,我脑子里放了屁)
我的问题是我正在自学,如果我不问,我需要几个小时才能弄清楚这些事情。我当前的 ng-value 设置 ShowMe,如果它 == true,则显示所有其他引用正文。任何帮助将不胜感激。
- 基本上我要再次尝试隐藏引用正文 在页面加载。
- 如果引用的是单击显示该引用的正文。
- 如果再次单击它,则隐藏该引用的正文。
角度
app.controller("QuotesCtrl", ['$scope', '$http', 'Quotes', 'Quote', '$location', function($scope, $http, Quotes, Quote, $location ) {
$scope.quotes = Quotes.query();
$scope.quote = Quote.query();
$scope.switchQuote = function (id) {
if(document.getElementById('quotebody' + id).style.visibility == 'hidden') {
document.getElementById('quotebody' + id).style.visibility = 'visible'
$scope.showMe = true;
} else {
document.getElementById('quotebody' + id).style.visibility = 'hidden'
$scope.showMe = false;
}
}
}
]);
html
<div class="quotes col-xs-10 col-md-8" ng-controller="QuotesCtrl">
<div ng-repeat="quote in quotes">
<a ng-click="switchQuote(quote.id)" ng-value="showMe">
<span>Quote id: {{quote.id}}</span>
<span>Name: {{quote.name}}</span>
<span>Email: {{quote.email}}</span>
<span>City: {{quote.city}}</span>
</a>
<div id="quotebody{{quote.id}}" ng-show="showMe">
<span>City: {{quote}}</span>
<span>City: {{quote.city}}</span>
<span>City: {{quote.city}}</span>
</div>
</div>
</div>
【问题讨论】:
-
或者更好的 docs.angularjs.org/api/ng/directive/ngHide 提供与您的代码相同的功能(ngIf 修改 DOM)
-
我认为您将ngValue 与ngIf/ngShow 混淆了。看看:stackoverflow.com/questions/19177732/…
标签: javascript html angularjs