2017-07-12 93 views
0

好吧,這可能是愚蠢的問題,但我一直坐在這裏試圖解決這個問題。我有一個選擇列表,當它更改爲特定值時,我試圖將屬性設置爲空字符串並禁用一些其他字段。問題是我不斷收到'TypeError:無法設置屬性'msrp'的空錯誤。我一直在看這個片刻。下面是代碼:不能設置屬性爲空

  var msrp;    
      vm.changeDealType = function changeDealType(myScenario, typeId) { 

       scenario.isCashDealType = false; 
       msrp = '';       
       if(typeId.value !== null && typeId.value === "Cash"){ 
        myScenario.isCashDealType = true; 
        myScenario.original.msrp = msrp; 
       } 

      }; 
+2

這意味着,myScenario.original或myScenario.original.msrp爲空 –

+2

看起來當你'changeDealType'函數被調用'myScenario.original'爲空等等。 – Gavin

+3

什麼是myScenario.original?它看起來像是null(這將導致你的代碼在設置一個null屬性時產生聲音) –

回答

1

我試過你的代碼,記住你需要發送正確的輸入的需要,請功能,例如:

var myScenario = {}; 
myScenario.original = {}; 
var typeId = {}; 
changeDealType(myScenario, typeId); 

您可以使用此工作代碼沒有嘗試任何錯誤:

var msrp; 

function changeDealType(myScenario, typeId) { 

    myScenario.isCashDealType = false; 
    msrp = ''; 
    if (typeId.value !== null && typeId.value === "Cash") { 
    myScenario.isCashDealType = true; 
    myScenario.original.msrp = msrp; 
    } 

}; 

var myScenario = {}; 
myScenario.original = {}; 
var typeId = {}; 
changeDealType(myScenario, typeId);