2014-08-28 54 views
0

這是一直困擾着我一段時間的問題之一,但我總是在沒有真正找出適當的解決方案的情況下解決它...如果之前已經回答但道歉,但是,我找不到答案。如果可能,我想避免重構對象字面模式。Javascript對象文字傳遞屬性到jquery插件選項

在下面的例子中,我無法訪問NS.something,我不知道爲什麼......

var NS = { 
    something : 'abc', 

    init : function(){ 
     NS.doSomething(); 
    }, 

    doSomething : function(){ 
     $('.elements').jqueryPlugin({ 
      pluginParameters: { 
       NS.something : 'xyz'; 
      } 
     }) 
    } 
}; 

NS.init(); 

回答

2

您不能定義一個對象文本具有可變鍵,你必須給它分配用[]表示法定義後。

doSomething : function(){ 
    var pluginParameters = {}; 
    pluginParameters[NS.property] = 'xyz'; 
    $('.elements').jqueryPlugin({ 
     pluginParameters: pluginParameters 
    }) 
} 
+0

偉大的東西非常感謝:-)看到這項工作後,我期待能夠像'pluginParameters [NS.property] [胡說] =「某某」以同樣的方式創建嵌套的對象;'但這似乎沒有工作。相反,我使用'pluginParameters [NS.property] = {blah:'xyz'};'這很好。 – 2014-08-28 12:56:47

+0

@JamesSmith'pluginParameters [NS.property] = {}; pluginParameters [NS.property] [blah] ='xyz';' – Musa 2014-08-28 13:20:52