簡體   English   中英

如何在敲除js AMD Helpers中將模塊加載到其他模塊中

[英]how to load modules into other modules in knockout js AMD helpers

我如何將javascript模塊加載到另一個模塊中以供使用,例如,我想要一個模塊具有一個對象,而我想使用該模塊在另一個模塊中創建該對象的實例。

示例:對象模塊:

`

 define(["knockout"],function(){ var postobj = function(name,age){ this.name = ko.observable(name); this.age = ko.observable(age); } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.1.0/knockout-min.js"></script> 
對於模塊的第二部分,我有此代碼

 define(["knockout"],function(ko){ this.posts = ko.observableArray(); var people = [{name: "katuula Kalali Joel", age: "23"}, {name: "keman Migadde", age: "30"}, {name: "Ntanda Hakim", age: "19"}]; jQuery.each(people,function(index,value){ this.posts.push(new imageobj(value['name'],value['age'])); },this); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.1.0/knockout-min.js"></script> 

我收到此錯誤“未捕獲的ReferenceError:未定義postobj”

您可能希望將原始模塊作為第二個模塊的參考。 在第二篇文章中,您似乎正在使用imageobj ,但是我假設這與您的postobj類似。

因此,您希望模塊看起來像這樣:

define(["knockout"],function(){
   var postobj = function(name,age){
     this.name = ko.observable(name);
     this.age = ko.observable(age);
   };

    // important to return the value of your module
    return postobj;
});

在第二個模塊中,您將像以下那樣拉入第一個模塊:

define(["knockout", "path/to/postobj"],function(ko, Postobj){
  function ViewModel() {
      this.posts = ko.observableArray();

      var people = [{name: "katuula Kalali Joel", age: "23"},
                {name: "keman Migadde", age: "30"},
                {name: "Ntanda Hakim", age: "19"}];

      jQuery.each(people,function(index,value){
                    this.posts.push(new Postobj(value['name'],value['age']));
                },this);

  }

  return new ViewModel();

});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM