Aframe 使用类和原型模式未定义组件的属性
我在JavaScript中使用了类和原型模式。我创建了一个名为Aframe 使用类和原型模式未定义组件的属性,aframe,javascript,design-patterns,Aframe,Javascript,Design Patterns,我在JavaScript中使用了类和原型模式。我创建了一个名为NavigatieButton的函数,并得到了一个由三个属性组成的构造函数,分别名为location、rotation和navigatie 在NavigatieButton的原型中,我创建了一个名为init的函数,该函数必须呈现一个“组件” 在render函数中,我使用下面的代码创建了NavigatieButton的一个新实例: var navBtn=新导航按钮('0'); 但是,如果我调用init,则属性位置、旋转和导航未定义 在
NavigatieButton
的函数,并得到了一个由三个属性组成的构造函数,分别名为location
、rotation
和navigatie
在NavigatieButton
的原型中,我创建了一个名为init
的函数,该函数必须呈现一个“组件”
在render
函数中,我使用下面的代码创建了NavigatieButton
的一个新实例:
var navBtn=新导航按钮('0');
但是,如果我调用init
,则属性位置
、旋转
和导航
未定义
在这里你可以找到我写的代码
“严格使用”;
功能导航按钮(位置){
这个位置=位置;
}
NavigatieButton.prototype.init=函数(){
var-element=document.createElement('a-entity');
element.setAttribute('location',this.location);
//在这里,我将向'element'变量添加一些其他节点。
返回元素;
};
(功能(){
函数render(){
var el=document.createElement('div');
对于(变量i=7;i--;){
var navBtn=新导航按钮('0');
var comp=NavigatieButton.prototype.init();
el.附属儿童(公司);
}
控制台日志(el);
}
render();
})();代码>而不是
var comp = NavigatieButton.prototype.init();
必须使用刚创建的对象调用.init()
:
var comp = navBtn.init();
.init()
函数将在原型上找到,当以正确的方式调用时,此
的值将引用您创建的navBtn
对象。而不是
var comp = NavigatieButton.prototype.init();
必须使用刚创建的对象调用.init()
:
var comp = navBtn.init();
.init()
函数将在原型上找到,当以正确的方式调用时,此
的值将引用您创建的navBtn
对象。您直接调用NavigatieButton
构造函数的init函数,该构造函数不是新创建的对象
使用navBtn.init()
而不是NavigatieButton.prototype.init()
您正在直接调用NavigatieButton
构造函数的init函数,该函数不是新创建的对象
使用navBtn.init()
而不是NavigatieButton.prototype.init()代码>