我购买了metronic管理模板并试图在角度2中使用它,但我有两个JS文件的错误:app.js
和layout.js
。
app.js
内容:
var test = function () {
/* ... */
return {
init: function(){ /* ... */ },
getResponsiveBreakpoint: function(size) {
// bootstrap responsive breakpoints
var sizes = {
'xs': 480, // extra small
'sm': 768, // small
'md': 992, // medium
'lg': 1200 // large
};
return sizes[size] ? sizes[size] : 0;
}
}
}();
jQuery(document).ready(function() {
test.init(); // init metronic core componets
});
layout.js
内容:
var Layout = function () {
var resBreakpointMd = test.getResponsiveBreakpoint('md');
/* ... */
return {
init: function() { /* ... */ }
}
}();
$(document).ready(function() {
Layout.init(); // init metronic core componets
});
layout.js
会返回此错误:
test.getResponsiveBreakpoint不是函数
但是如果我在布局函数之外写test.getResponsiveBreakpoint('md');
,它就可以工作。
console.log(test.getResponsiveBreakpoint('md'));
var Layout = function() {/* ... */}
答案 0 :(得分:0)
删除self invoking
函数Layout
。
即,
而不是这个
var Layout = function () {
...
//Your Code...
}();
使用此,
var Layout = function () {
...
//Your Code...
};
更新:
app.js
var test = function () {
return {
init:function(){
return 100;
},
getResponsiveBreakpoint: function (size) {
var sizes = {
'xs': 480, // extra small
'sm': 768, // small
'md': 992, // medium
'lg': 1200 // large
};
return sizes[size] ? sizes[size] : 0;
}
}
}();
layout.js
var Layout = function () {
var resBreakpointMd = test.getResponsiveBreakpoint('xs');
return{
init:function(){
return resBreakpointMd;
}
}
};
$(document).ready(function() {
console.log(Layout().init());
});