angulaire.js - Comment créer des fonctions publiques dans Angularjs
我想大声告诉你
我想大声告诉你 2017-05-15 17:05:27
0
3
568

J'ai deux fonctions qui doivent être utilisées sur plusieurs pages. Comment puis-je les extraire séparément et les mettre dans un fichier js ?
Je vois que la plupart des informations sur Internet consistent à créer un service ou une usine puis à l'intégrer dans le contrôleur. Mais mes deux fonctions sont appelées dans une autre fonction. J'ai essayé de mettre le contrôleur enfant dans la fonction et une erreur s'est produite. Que dois-je faire ? Y a-t-il un autre moyen ?
Mon code ressemble à :

var app = angular.module('myApp', []);
app.controller('Ctrl', function($scope, $http) {
$scope.z = function{

$scope.word1 = 1;
$scope.word2 = 2;
$http.get(url, config)
                .then(function (response) {
                $scope.items = response.data.data;
                $scope.a();
                }
 $scope.b= function{
 $scope.a();
 }               
   $scope.a= function{   
   }          
}
});

Où les fonctions a et b sont les fonctions publiques que je dois évoquer. word1 et word2 sont également utilisés dans ces deux fonctions, mais je ne souhaite pas les mentionner car ces deux valeurs​​sont différentes sur chaque page. À l'heure actuelle, cette méthode d'écriture peut être implémentée sur ma page. Comment pouvons-nous mettre ces deux fonctions dans un fichier js séparé ?

我想大声告诉你
我想大声告诉你

répondre à tous(3)
phpcn_u1582
// app作为全局变量
window.app = angular.module('myApp', []);

// 下面这段提成一个单独的xxxCtrl.js文件
app.controller('Ctrl', [
  '$scope',
  '$http',
  'yourService',
  function($scope, $http, yourService) {
    // a方法调用
    yourService.a();
    // b方法调用
    yourService.b();
  }
]);

// 下面这段提成一个单独的xxxService.js文件
app.factory('yourService', ['', function() {
  // a,b公用方法
  var temp = function() {
    //...
  };

  function Service() {
    this.a = function() {
      temp();
      //...
    }
    this.b = function() {
      temp();
      //...
    }
  }
  return new Service();
}])
刘奇

Ou en tant que service, passez word1, word2 et autres comme paramètres, ce qui est flexible et réutilisable

为情所困

Les méthodes publiques peuvent être extraites et mises en service, puis le service peut être injecté dans la méthode publique qui doit être appelée

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal