0
두 개의 모델 개체와보기가 있습니다. 나는 이것을 해결하기 위해 연기했다. 이제 뷰가 항상 존재할 때 조건에 따라 해결할 모델 객체 중 하나 또는 둘 다를 가질 수 있습니다. 다음은 코드입니다. myDeferred1는 조건부 그림으로 올 것이기 때문에jQuery 조건부 해결 방법
$ .when을 (수행 할 때
var self = this, myDeferred1 = new $.Deferred(), myDeferred2 = new $.Deferred(), viewDeferred = new $.Deferred(); if (typeof personId !== "undefined") { var myObj1 = new MyObj1({ attr1 : attrId1, attr2 : personId }); myObj1.fetch({ success: function() { myDeferred1.resolve(myObj1); } }); } var myObj2 = new MyObj2({ attr1 : attrId1 }); myObj2.fetch({ success: function() { myDeferred2.resolve(myObj2); } }); require(['myView'], function(MyView) { viewDeferred.resolve(MyView); }); $.when(myDeferred1, myDeferred2, viewDeferred).then(function(myObj1, myObj2, MyView) { });
내 질문 (대해서 typeof personId! == "정의되지 않은")
는 어떻게 확인합니까 동일 myDeferred1, myDeferred2, viewDeferred) 그 때는 (기능 (myObj1, myObj2, MYVIEW)
나는 수행하여 코드를 복제해야 만약 .. 아래처럼 ... 아니면 더 좋은 방법이 있을까요?
if (typeof personId !== "undefined") {
$.when(myDeferred1, myDeferred2, viewDeferred).then(function(myObj1, myObj2, MyView) {
});
} else {
$.when(myDeferred2, viewDeferred).then(function(myObj2, MyView) {
});
}
'personId' 발생과 상관없이'myDeferred1'을 해결하고 콜백에서 반환 된 데이터를보고 처리하는 것이 어떻습니까? – Johan
@testndtv'.then (function (myObj1, myObj2, MyView)'및'.then (function (myObj2, MyView) ') 사이에'then()'의 본문이 다른가요? – guest271314