2017-08-11 47 views
1

使用Bridge.NET我最近开始和我遇到的一个问题。

随着定义为类遵循

public class DomEngine 
{ 
    public DomEngine() 
    { 
     // Empty constructor to make sure it works 
    } 

    /* Lots of irrelevant code removed */ 
} 

和像这样

<!DOCTYPE html> 
<html lang="en" xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta charset="utf-8" /> 
    <title>MenuGeneratorFromDom</title> 

    <script src="bridge.js"></script> 
    <script src="bridge.console.js"></script> 
    <script src="bridge.meta.js"></script> 
    <script src="jquery-2.2.4.js"></script> 
    <script src="MenuGeneratorFromDom.js"></script> 
    <script src="MenuGeneratorFromDom.meta.js"></script> 
</head> 
<body> 
    <h1>1.0</h1> 
    <h4>4.0</h4> 
    <h2>2.0</h2> 
    <h3>3.0</h3> 
    <h4>4.1</h4> 
    <h3>3.1</h3> 
    <h3>3.2</h3> 
    <h2>2.1</h2> 
    <h3>3.3</h3> 
    <h3>3.4</h3> 
    <h4>4.2</h4> 
    <h4>4.3</h4> 
<script> 
    $(function() 
    { 
     var domEngine = MenuGeneratorFromDom.DomEngine(); 
    }); 
</script> 
</body> 
</html> 

一个index.html我得到在由Bridge.NET

Bridge.define("MenuGeneratorFromDom.DomEngine", 
{ 
    ctors: 
    { 
     ctor: function() 
     { 
      this.$initialize(); // Here 
     } 
    }, 
    /* lots of generated code */ 
} 

生成的代码一个this.$initialize is not a function虽然Initializ()确实在bridge.js中定义为t他行

prop.$initialize = Bridge.Class._initialize; 

(其中Bridge.Class._initialize被定义为好),我们可以在上面bridge.js中的index.html看到的是包含在文件中前MenuGeneratorFromDom.js

我不明白为什么这个Initialize调用抛出未定义的错误,而明确定义!我忘了用Bridge.NET做些什么?

回答

2

看起来像你只需要添加new关键字在你的电话。您像静态方法那样调用DomEngine(),但它是一个构造函数。

// Fail 
var domEngine = MenuGeneratorFromDom.DomEngine(); 

// Success! 
var domEngine = new MenuGeneratorFromDom.DomEngine(); 

这里有一个简单的甲板演示场景:

https://deck.net/847bdcf3ee52dbc3297310507d5b15d3

希望这有助于。

+0

感谢您的回答!你可能是对的,但同时我在重新使用git并重新运行之后重新做了我的重新考虑。但是,由于你的回答似乎有很大意义,我会标记你回答我的问题。谢谢 :-) – Wndrr

1

尝试console.log(({}).toString.call(this.$initialize).match(/\s([a-zA-Z]+)/)[1].toLowerCase());

这应该输出的这种类型。$初始化

如果它是不确定的,那么它永远不会设置。如果它是其他的东西,那么你可能不得不在线上,函数被初始化并深入到右边的值。

+0

谢谢您的关注!即使这个错误现在已经修复了,你能向我解释一下这段代码的用途吗?我不确定我是否真的了解它... – Wndrr

+1

是的。它基本上只是输出变量的Typename。 – COOLGAMETUBE

0

最后,我再保,导致这一错误之前恢复我的存储库。我重新做了重新分解,在每一步之间进行编译并检查代码是否每次都能正常工作。错误没有回来,所以我不知道是什么造成的?

错误固定本身,所以感谢您的关注反正:-)