为什么ng节目不起作用

Why ng-show is not working?

本文关键字:不起作用 节目 ng 为什么      更新时间:2023-09-26

HTML

<div  class="col-sm-1">
    <a class="a" ng-click="aa()">
       <span name="yesLink"></span>
    </a>            
</div>                                                  
<div  class="col-sm-1">
   <a class="a" ng-click="bb()">        
     <span  name="NoLink"></span>           
   </a>
</div>
<div id="nnn" class="col-sm-7" align="left" >
    <p ng-show="yes"> Text for yes</P>
    <p ng-show="no"> Text for no</P>
</div>

JS-

yesLink.onclick()=function() 
{
      scope.yes=true;
}
noLink.onclick()=function() 
{
      scope.no=true;
}

我已经使用了上面的代码。我想根据点击显示消息。但它不起作用。这个代码出了什么问题?如果单击yesLink,则应显示"Text for yes"(文本表示是);如果单击NoLink,则显示"Text of no"(文本代表否)。

我认为,没有必要添加onclick方法。只做这个

<div  class="col-sm-1">
<a class="a" ng-click="yes=true">
   <span name="yesLink"></span>
</a>            
</div>                                                  
<div  class="col-sm-1">
   <a class="a" ng-click="yes=false;">        
      <span  name="NoLink"></span>           
    </a>
</div>
<div id="nnn" class="col-sm-7" align="left" >
    <p ng-show="yes"> Text for yes</P>
    <p ng-hide="yes"> Text for no</P>
</div>

我看到上面的代码中使用了Angular,所以HTML部分将是

你的控制器部分应该是类似的东西

将bb()和aa()视为点击函数

$scope.bb = function(){
 $scope.yes = true;
}
$scope.aa = function(){
 $scope.no = true;
}

检查的值是布尔值,但分配给变量的值是字符串。您有两个选项>

选项1:告诉ng隐藏/显示值查找字符串值,ng show="yes==='true'"。

选项2:在函数中,将字符串换成布尔值,scope.es=true和NOT scope.es="true"

不需要jquery,可以使用ng-click,点击触发controler 中的功能

<div  class="col-sm-1">
    <a class="a" ng-click="aa()">
       <span name="yesLink"></span>
    </a>            
</div>                                                  
<div  class="col-sm-1">
   <a class="a" ng-click="bb()">        
     <span  name="NoLink"></span>           
   </a>
</div>
<div id="nnn" class="col-sm-7" align="left" >
    <p ng-show="yes"> Text for yes</P>
    <p ng-show="no"> Text for no</P>
</div>

JS-

scope.aa() = function(){
   scope.yes = true;
}
scope.bb() = function(){
   scope.no = true;
}