javascript
  • jquery
  • angularjs
  • 2016-08-08 62 views 0 likes 
    0

    我有问题,改变我的滑块到角。 这里是我的代码工作:不能改变JS滑块角指令

    <div id="main-img" class="main-img"> 
        <img id="img" src="image.jpg"> 
    </div> 
    <div id="thumb-img" class="thumb-img" > 
        <img src='image.jpg' onclick='changeImage("image.jpg");'> 
        <img src='image1.jpg' onclick='changeImage("image1.jpg");'> 
    </div> 
    <script> 
        function changeImage(a) { 
         document.getElementById("img").src=a; 
        } 
    </script> 
    

    当我需要角我改变它,他不工作:

    <div id="main-img" class="main-img"> 
         <img id="img" ng-src="{{some.image1}}"> 
        </div> 
        <div id="thumb-img" class="thumb-img" > 
         <img ng-src='{{some.image1}}' ng-click='changeImage("{{some.image1}}");'> 
         <img ng-src='{{some.image2}}' ng-click='changeImage("{{some.image2}}");'> 
        <script> 
         function changeImage(a) { 
          document.getElementById("img").src=a; 
         } 
        </script> 
    

    什么,我做错了什么?

    +0

    您需要阅读起来还是遵循角基本教程。简单地使用'ng-src'和'ng-click'并不是Angular的工作方式。 – Lex

    回答

    0

    ng-click是一个角度指令,需要您调用changeimage的函数在该控制器的范围内。我从你的代码中创建了一个工作示例,你可以在这里查看。 https://jsfiddle.net/9bz4Lwxa/112/

    基本上为“angularize”它,你必须创建控制器,并添加要在点击其范围调用该方法。

    的JavaScript:

    angular.module('demoApp', []) 
    .controller('SliderController', ["$scope",function ($scope) { 
        $scope.changeImage = function (a) { 
         document.getElementById("img").src= a; 
        }; 
    }]); 
    

    HTML:

    <div ng-app="demoApp" ng-controller="SliderController"> 
        <div id="main-img" class="main-img"> 
        <img id="img" src="image1.jpg"> 
        </div> 
    
        <div id="thumb-img" class="thumb-img"> 
        <img src='image1.jpg' ng-click='changeImage("image1.jpg");'> 
        <img src='image2.jpg' ng-click='changeImage("image2.jpg");'> 
        </div> 
    
    </div> 
    
    +0

    经由功能的控制器的简单声明这种方法只(不注册它在模块上)已被废弃,仅将在预1.3版本的角工作。有了Angular 1.5.x,我认为它不会给这样的例子 - 特别是当你的JSFiddle引用v1.0时。 – Lex

    +0

    谢谢,你是正确的但一点我想获得的是表明OP中缺少角大的“概念”,只是用NG-点击的onclick更换是不够的。尽管如此,我会更新答案以获得更多更新。 – Shaunak

    +0

    @Lex好的我已经更新了示例。 – Shaunak

    相关问题