0

私のコードのどの部分が間違っていますか?? 多くのエラーがある場合は、UNLIKE を教えないでください :D im Angularjs の新機能

<script>
demoapp = angular.module('demoapp', []);
demoapp.factory('simplefactory', function ($scope) {
    //var customers = [{ name: 'Alireza', family: 'massali' }, { name: 'Ehsan', family: 'abdolahi' }, { name: 'Ali', family: 'Shirvanian'}];
    var customers ="3576324";
    //var factory = {};
    this.GetCust = function () {
       return customers;
    };


    this.PostCust = function (customer) {
        return customers;
    };
    return factory;
});



var xxx = angular.module('mmodule', []);
var conts = {}
conts.simple = function ($scope, simplefactory) {
    $scope.name = simplefactory.GetCust();
}

conts.simple1 = function ($scope) {
    $scope.name1 = "2222";
}

xxx.controller(conts);

ここにHTMLがあります

<div ng-app='mmodule'>
<p ng-controller='simple'>{{name}}</p></div>
4

3 に答える 3

1

あなたのコードは正しくありません。あなたの工場でfactoryは、定義されていない を返しています。GetCustおよびその他の機能を使用する場合は、 を返す必要がありますthis

于 2013-09-29T16:16:18.620 に答える
1

私はあなたが正しい線で始められるように努めることができます. 2 つのモジュールを使用しているようですが、これには何らかの理由があると思います。「mmodule」モジュールは、「demoapp」モジュールで定義されたファクトリを使用しようとしています。しかし、それがどこにあるのかわからない。したがって、最初に行う必要があるのは、「demoapp」モジュールを「mmodule」に挿入することです。したがって、行 var xxx=angular.module.... を次のように変更する必要があります。

var xxx=angular.module('mmodule', ['demoapp']);

これで、ファクトリで定義された関数が使用可能になります。

あなたが工場をセットアップした方法は、私が工場をセットアップした方法とは異なります。私は使うだろう:

 demoapp.factory('simplefactory', function () {

   var customers ="3576324";
   //var factory = {};
    return{
     GetCust: function () {
       return customers;
     },


     PostCust: function (customer) {
       return customers;
     }
  };
});

ここにプランカーがあります: http://plnkr.co/edit/WisW6f?p=preview

于 2013-09-29T16:17:36.443 に答える