Javascript 为ng单击显示类似项目

Javascript 为ng单击显示类似项目,javascript,angularjs,Javascript,Angularjs,我对AngularJS非常陌生,我正在尝试设计一个新闻门户网站,用户点击新闻标题,它将显示相关新闻 我的HTML: <table class='table'> <tr ng-repeat="newx in news.info | filter:search"> <td> <h3> <a ng-click="show_sm(newx.newslinkText)">{{newx.newslinkText}}<

我对AngularJS非常陌生,我正在尝试设计一个新闻门户网站,用户点击新闻标题,它将显示相关新闻

我的HTML:

<table class='table'>
   <tr ng-repeat="newx in news.info  | filter:search">
   <td> 
      <h3> <a ng-click="show_sm(newx.newslinkText)">{{newx.newslinkText}}</a> </h3>
          <p> {{newx.newsText}}  </p>
   </td>
</tr>
</table>

如何执行此操作?

您可以使用ng show有条件地显示新闻内容:

HTML:

<table class='table'>
   <tr ng-repeat="newx in news.info  | filter:search">
   <td> 
      <h3> <a ng-click="show_sm(newx)">{{newx.newslinkText}}</a> </h3>
          <p ng-show="selected == newx"> {{newx.newsText}}  </p>
   </td>
</tr>
</table>

我强烈建议使用这个

<table class='table'>
   <tr ng-repeat="newx in news.info  | filter:search">
     <td> 
      <h3> <a ng-click="show_sm(newx.newslinkText)">{{newx.newslinkText}}</a> </h3>
          <p ng-if="newx.selected> {{newx.newsText}}  </p>
     </td>
   </tr>
</table>

看看。我一定不同意,因为一旦点击,你就无法隐藏它,这是不好的。另外,ng show仍然呈现html,但不会隐藏它。您不理解哪一个?1第一个$scope.selected没有值,对吗?执行show_sm后,您将使用一个值填充$scope.selected。再次单击后,将不会发生任何事情,它仍将显示和渲染。2ng show渲染元素,但只是将其隐藏,直到selected==newx,所以这是不正确的。不,仍然不明白您在说什么。。。请随时提供答案
$scope.show_sm = function(newx) {
   $scope.selected = newx;
}
<table class='table'>
   <tr ng-repeat="newx in news.info  | filter:search">
     <td> 
      <h3> <a ng-click="show_sm(newx.newslinkText)">{{newx.newslinkText}}</a> </h3>
          <p ng-if="newx.selected> {{newx.newsText}}  </p>
     </td>
   </tr>
</table>
 $scope.show_sm = function(newx) {
      // At first click it will  be ! of false which is true and it will display the content
      $scope.newx.selected = !$scope.newx.selected;
   }