0
어떻게 작동합니까? 이 코드를 실행하면requireJS - 매개 변수 대체
var param = 'someFunction';
require('views/MyView').[param]();
, 나는
SyntaxError: missing name after . operator
require('views/MyView').[renderMethod]();
어떻게 작동합니까? 이 코드를 실행하면requireJS - 매개 변수 대체
var param = 'someFunction';
require('views/MyView').[param]();
, 나는
SyntaxError: missing name after . operator
require('views/MyView').[renderMethod]();
.
및 []
같은 일의 친절 다음과 같은 오류가 발생합니다. 당신이 원하는 무엇
는 require('views/MyView')[renderMethod]();
require(...)
기본적 속성과 기능을 가진 객체해야 내 보낸 모듈을 반환 할 것이다.
자, 우리가 가정 해 봅시다 :
var obj = {
foo: function() { alert('foo'); }
bar: function() { alert('bar'); }
}
그런 다음 당신이 할 수 있습니다 :
obj.foo();
이 - 동적 이름 고정 인수
obj['foo'].apply(this, args)
- 기능이 고정 된 이름
obj['foo']();
전화 - 동적 함수 이름 및 인수
편집 :
내가 발견 한 가지 더 :
requirejs에서, 당신은 이런 식으로 뭔가를 할 때
define (require, function() {
x = require('views/Foo');
x.bar();
}
당신 '이 필요합니다 코드를 분석하여 결정합니다
RequireJS view/Foo '모듈을 열고 코드를 실행하기 전에로드되었는지 확인하십시오. 동적 모듈을로드 할 경우
그러나, 당신의 모듈이로드 될 때 알림이 미리로드 어떤 모듈을 사전에 알 수 없습니다, 그래서 당신은 콜백을 사용해야합니다 :
define (require, function() {
require('views/' + viewName, function(myView) {
myView.bar(); // or
myView[dynamicFunc](); // ...
});
}