javascript
  • jquery
  • angularjs
  • 2016-08-08 99 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

    相關問題