angular.js - Bagaimana untuk mencipta fungsi awam dalam Angularjs
我想大声告诉你
我想大声告诉你 2017-05-15 17:05:27
0
3
569

Saya mempunyai dua fungsi yang perlu digunakan pada banyak halaman Bagaimana saya boleh mengekstraknya secara berasingan dan memasukkannya ke dalam fail js?
Saya melihat bahawa kebanyakan maklumat di Internet adalah untuk mencipta perkhidmatan atau kilang dan kemudian membenamkannya dalam pengawal. Tetapi dua fungsi saya dipanggil di dalam fungsi lain. Saya cuba meletakkan pengawal kanak-kanak ke dalam fungsi dan ralat berlaku. Adakah terdapat cara lain?
Kod saya kelihatan seperti:

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{   
   }          
}
});

Di mana fungsi a dan b ialah fungsi awam yang perlu saya bangkitkan. word1 dan word2 juga digunakan dalam kedua-dua fungsi ini, tetapi saya tidak mahu menyebutnya kerana kedua-dua nilai ini berbeza pada setiap halaman. Pada masa ini, kaedah penulisan ini boleh dilaksanakan di halaman saya. Bagaimanakah kita boleh meletakkan kedua-dua fungsi ini ke dalam fail js yang berasingan?

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

membalas semua(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();
}])
刘奇

Atau sebagai perkhidmatan, hantar word1, word2 dan seumpamanya sebagai parameter, yang fleksibel dan boleh digunakan semula

为情所困

Kaedah awam boleh diekstrak dan dimasukkan ke dalam perkhidmatan, dan kemudian perkhidmatan itu boleh disuntik ke dalam kaedah awam yang perlu dipanggil

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan