AngularJS - 试图通过ng-switch和ng-click来改变背景颜色

时间:2017-05-27 16:13:05

标签: javascript html angularjs

这是我的第一个问题 - 而且实际上只是一种挫败感。我已经完成了大约12个不同的堆栈溢出问题,这些问题很相似,并且复制了他们的代码,但我仍然无法通过点击来改变血腥的背景颜色。所以我认为我错过了一些东西。

https://codepen.io/Dawsraki/pen/XRGBLW

<html ng-app="app"> 
    <head>
      <script src="http://code.angularjs.org/1.2.6/angular.min.js"></script>
    </head>
<body ng-controller="SwitchController" ng-style="myStyle">
  <div ng-switch="slider.page" class="screen" >
  <div  id="record_player" ng-switch-when="1">
    <span><a href="#"  ng-click="slider.page=1; myStyle={background:'#2a1f2d;'}">&#60;</a></span>
    <div class="rectangle">
      <div class="circle1">      
          <div class="circle3">
          </div>     
      </div>
      <div class="handle"> 
        <div class="circle1">
        </div>
        <div class="hand">
        </div>
        <div class="arm">
        </div>
      </div>
      <div class="toggles">
        <div class="left_dash"></div>
        <div class="right_dash"></div>
      </div>
    </div>
    <h1>Listen to Music</h1>
    <span><a href="#" ng-click="slider.page=2">&#62;</a></span>
  </div>
  <div id="cassette" ng-switch-when="2">
     <span><a href="#" ng-click="slider.page=1; myStyle={background:'#5F78D2'}">&#60;</a></span>
    <div class="rectangle">
      <div class="circle1">
      </div>
      <div class="line1">
      </div>
      <div class="line2">
      </div>
      <div class="line3">
      </div>
      <div class="line4">
      </div>     
      <div class="circle2">
      </div>
    </div>
    <h1>Share it with friends</h1>
    <span><a href="#" ng-click="slider.page=1">&#62;</a></span>
  </div>
  </div>
</div>
  </body>
</html>

这是我的代码笔 - 当我点击箭头时,我想要改变背景颜色,我看到了很多简单的解决方案,但它们只是工作而我不知道为什么。如果有人想帮助一个AngularJS noob出去,会有很多爱情和饼干&lt; 3(免责声明:不提供饼干)

1 个答案:

答案 0 :(得分:2)

这个问题是由ng-switch引起的,因为它创建了自己的范围。

在您的锚标记中使用$ parent.myStyle = {background:'red'}“来修复此问题