Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用angularjs更改li中的跨度文本_Javascript_Angularjs_Html Lists - Fatal编程技术网

Javascript 使用angularjs更改li中的跨度文本

Javascript 使用angularjs更改li中的跨度文本,javascript,angularjs,html-lists,Javascript,Angularjs,Html Lists,我有类似于html的东西 <ul id="sidemenu" class="wraplist wrapper-menu"> <li class="auto" ng-class='{"active": active == 1 }' ng-click="makeActive(1)"> <span class="arrow material-icons">arrow_down</span> <li> <li class="

我有类似于html的东西

<ul id="sidemenu" class="wraplist wrapper-menu">
 <li class="auto" ng-class='{"active": active == 1 }' ng-click="makeActive(1)">
    <span class="arrow material-icons">arrow_down</span>
 <li>
 <li class="auto" ng-class='{"active": active == 2 }' ng-click="makeActive(2)">
    <span class="arrow material-icons">arrow_down</span>
 <li>
<ul>

在ng click=makeActive时,我只想将特定
  • 元素的值“arrow\u down”更改为“arrow\u right”。如果再次单击,我想将其更改为“向下箭头”。Rest all
  • 将保持跨度文本不变。如何使用angularjs实现这一点?i、 e.通过使用角元素?或者还有其他方法吗?

    键盘箭头仅指一个变量。因此,您必须创建两个范围变量:keyboardArrow1和keyboardArrow2

    使现代化
    根据您的需要,这里有一个。

    更新了我在评论中讨论的答案

    1在控制器中,定义键盘箭头1和键盘箭头2:

    2您现在可以按如下方式显示这些值:

    <ul> 
      <li ng-class="{'active': active == keyboardArrow1}" ng-click="makeActive(keyboardArrow1)">
        {{keyboardArrow1}}
      </li>
      <li ng-class="{'active': active == keyboardArrow2}" ng-click="makeActive(keyboardArrow2)">
        {{keyboardArrow2}}
      </li>
    </ul>
    

    你能告诉我怎么做而不重复ng吗?@ghetal更新了我的答案。实际上expression keyboardArrow的值只是在两个值之间切换。所以,当点击该特定项时,我想设置值“A”或“B”。。。如果是“A”,则设置“B”和viceversa@ghetal再次更新我的答案。我认为它现在适合你的需要。我已经修改了原来的问题。。。请看,我已经改变了我原来的问题,以便更好地理解它。你现在能帮我吗?@ghetal我更新了我的答案,请看看这是否是你需要的。
    $scope.keyboardArrow1 = 'A';
    $scope.keyboardArrow1 = 'B';
    
    <ul> 
      <li ng-class="{'active': active == keyboardArrow1}" ng-click="makeActive(keyboardArrow1)">
        {{keyboardArrow1}}
      </li>
      <li ng-class="{'active': active == keyboardArrow2}" ng-click="makeActive(keyboardArrow2)">
        {{keyboardArrow2}}
      </li>
    </ul>
    
    $scope.makeActive = function(arrow) {
        $scope.active = arrow;
    }