2016-04-12 50 views
-4

下面的簡單jQuery不會在我的角度web應用中運行。它在控制檯中運行,但在作爲外部文件提供時不會被讀取。其他腳本在同一個文件中運行,但這不是。有什麼想法嗎?我如何使用正確的Angular方式重新編寫下面的代碼(我目前是角度新手)。如何在Angular方法中處理下面的jQuery

$("#button").on("click", function() { 
    $('input.ng-pristine').show(); //class selector for the div to show 
}); 
+1

你把你的代碼放在文檔準備好了嗎? –

+3

你爲什麼想在角度應用程序中做到這一點?你爲什麼不使用ng-click指令? –

+1

爲什麼不在角度邏輯中處理這個問題? – ajmajmajma

回答

2

後面你會怎麼做這角的總體思路是,像這樣

//your button 
<button id="button" ng-click="clickButton()">your button </button> 
//your input to hide 
<input ng-show="!hideInput" /> 

而在控制器

$scope.clickButton = function() { 
     $scope.hideInput = !$scope.hideInput; 
}; 

現在,我不知道你是否有特殊的用例來顯示和隱藏它,但是這個按鈕會按原樣切換顯示/隱藏。如果您在開啓和關閉切換它可以簡化甚至進一步像這樣:

<button id="button" ng-click="hideInput = !hideInput">your button </button> 

這可能不適合你,如果你不希望它切換,但這個想法是$ scope.hideInput是布爾值,它控制輸入上的ng-show或ng-hide。

-2

正確的方法是使用角指令的

編輯:

ng-clickng-show將做的工作:

代碼示例:

在html文件:

<body ng-app="example.module"> 
    <div ng-controller="myCtrl"> 
     <button id='button' ng-click="show()"> show it! </button> 
     <input class="pristine" ng-show="visible"> 
    </div> 
</body> 
在js文件

angular.module('example.module') 
    .controller('myCtrl', function($scope){ 

    $scope.visible = false; 

    $scope.show = function(){ 
     $scope.visible = true; 
     } 

}) 
0

您應該使用的角度指令

<input type="button" value="Click me" ng-click="myFunction()"> 


// In your angular controller 
$scope.myFunction = function() { 
    // do something 
};