将对象链接到多个对象以进行委派

时间:2019-04-26 20:17:56

标签: javascript design-patterns prototype-programming

文件夹结构:-

ProjectModules
   |-- Input
     |-- aDelegatee.js
     |-- aDelegatee.js
   |-- Module
     |-- aDelegator.js
     |-- aDelegator.js
   |-- Helper
     |-- aDelegatee.js

所有 .js 都有一个对象:-

例如, aDelegator.js

var stdIn = require('../Input/aDelegatee');

var helper = require('../Helper/aDelegatee');

var obj = Object.create(helper);

obj.init = function init(){
  promptForInput: { 
    this.input = this.aPropertyInInputDelegatee; // could be present in any of the two Input folder .js file// ...,  
}

obj.task1: function task_one() {
        this.aPropertyInHelperDelegatee; // pass this input array, to be used in helper sub routine.
      }

aDelegatee.js 存在于“输入”文件夹中:

module.exports = { 
  pulicProperty: // ...
}

aDelegatee.js 存在于helper.js中,此文件可以在独立执行aDelegator.js对象{{1}时使用其自己的对象input数组执行其例程。 }数组,当作为Module文件夹aDelegator.js

的子例程调用时
input

我该怎么做:

aDelegator.js

module.exports = {
  init(),
  input: [],
  pulicProperty: function {
    // use this.input  
  }    
}

我无法在 helper.js aDelegatee.js 中使用正确的// All code same as in aDelegator.js code before this one var obj = { promptForInput: stdIn.aPropertyInInputDelegatee; // here I am using name instead of this reference task1: function task_one() { this.aPropertyInHelperDelegatee; } } 引用。

我不想使用this。应该改为stdIn.aPropertyInInputDelegatee

0 个答案:

没有答案