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.
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.