javascript angularjs angularjs-ng-click

javascript - ng-click angularjs



AngularJS: ng-click no funciona (5)

Soy nuevo en AngularJs, ng-click no funciona como esperaba. Busqué en Internet, siga el tutorial, (eso estaba funcionando), ¡pero esto no funciona!

Mi código:

<div class="row" ng:repeat="follower in myform.all_followers | partition:2"> <ons-col class="views-row" size="50" ng-repeat="data in follower" > <img ng-src="http://dealsscanner.com/obaidtnc/plugmug/uploads/{{data.token}}/thumbnail/{{data.Path}}" alt="{{data.fname}}" ng-click="showDetail2(data.token)"/> <h3 class="title" ng-click="showDetail2(''ss'')">{{data.fname}}</h3> </ons-col> </div>

Aquí está mi controlador

//Follows Controller app.controller(''FollowsController'', function($scope, $http) { var ukey = window.localStorage.ukey; $scope.myform ={}; $scope.myform.reports =""; $http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded"; var dataObject = "usertoken="+ukey; var responsePromise = $http.post(server_url+"follows/", dataObject,{}); responsePromise.success(function(dataFromServer, status, headers, config) { $scope.myform.all_followers = dataFromServer; console.log(dataFromServer); //alert(dataFromServer); $scope.showDetail = function(index) { profileusertoken = index; $scope.ons.navigator.pushPage(''profile.html''); } function showDetail2(index) { alert("here"); } $scope.showDetail2 = showDetail2; }); });

Niether showDetail trabajando ni showDetail2 Por favor ayuda Gracias


Echa un vistazo a este plunker

HTML:

<!DOCTYPE html> <html ng-app="app"> <head> <script data-require="[email protected]" data-semver="1.3.0-beta.16" src="https://code.angularjs.org/1.3.0-beta.16/angular.min.js"></script> <link rel="stylesheet" href="style.css" /> <script src="script.js"></script> </head> <body ng-controller="FollowsController"> <div class="row" ng:repeat="follower in myform.all_followers"> <ons-col class="views-row" size="50" ng-repeat="data in follower"> <img ng-src="http://dealsscanner.com/obaidtnc/plugmug/uploads/{{data.token}}/thumbnail/{{data.Path}}" alt="{{data.fname}}" ng-click="showDetail2(data.token)" /> <h3 class="title" ng-click="showDetail2(''ss'')">{{data.fname}}</h3> </ons-col> </div> </body> </html>

Javascript:

var app = angular.module(''app'', []); //Follows Controller app.controller(''FollowsController'', function($scope, $http) { var ukey = window.localStorage.ukey; //alert(dataFromServer); $scope.showDetail = function(index) { profileusertoken = index; $scope.ons.navigator.pushPage(''profile.html''); } function showDetail2(index) { alert("here"); } $scope.showDetail2 = showDetail2; $scope.myform ={}; $scope.myform.reports =""; $http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded"; var dataObject = "usertoken="+ukey; //var responsePromise = $http.post("follows/", dataObject,{}); //responsePromise.success(function(dataFromServer, status, headers, config) { $scope.myform.all_followers = [[{fname: "blah"}, {fname: "blah"}, {fname: "blah"}, {fname: "blah"}]]; });


Intenté usar el mismo ng-clic para dos elementos con el mismo nombre showDetail2(''abc'')

está trabajando para mí. puedes verificar el resto del código que puede estar rompiéndote para avanzar más.

aquí está la muestra jsfiddle probé:


Para que ng-click funcione correctamente, necesita definir su controlador después del enlace del script angularjs y usarlo a través de $ scope.


Simplemente agregue la referencia de función al $ scope en el controlador:

por ejemplo, si desea que la función MiFunción funcione en ng-clic simplemente agregue al controlador:

app.controller("MyController", ["$scope", function($scope) { $scope.MyFunction = MyFunction; }]);


Simplemente me pasó. Resolví el problema trazando hacia atrás desde el punto ng-clic está codificado. Descubrí que un extra

</div>

se colocó en el html para cerrar prematuramente el bloque div que contiene el ng-clic.

Eliminado el extra

</div>

entonces todo está funcionando bien.