2015-12-11 52 views
1

我有兩個JavaScript文件,稱爲FileA.jsFileB.js。 FileA.js包含以下功能:Knockout js - 如何在兩個JavaScript文件之間傳遞值

Reports.CompanySearch.InitGrid = function (viewModel, emptyInit) { 
var columns = [ 
    { 
     name: 'CompanyName', 
     width: 150, 
     hidedlg: true, 
     search: false, 
     formatter: function namelinkformatter(cellvalue, options, rowObject) {    
       return "<a href='#/CompanyDetails/" + rowObject["Id"] + "'>" + rowObject["CompanyName"] + "</a>";    
     } 
    }, 

    { name: 'Address', width: 300, search: false }, 
    { name: 'City', width: 100, search: false }, 
    { name: 'State', width: 50, search: false }, 
    { name: 'Zip', width: 80, search: false, hidden: true }, 
    { name: 'Country', width: 120, search: false, hidden: true } 
]; 
var grid = $("#searchGrid"); 
grid.jqGrid({ 
    jsonReader: { root: 'rows', total: 'total', page: 'page', records: 'records', cell: 'cell', id: 'Id', repeatitems: false }, 
    colNames: [ 
     'Company Name', 
     'Address', 
     'City', 
     'State', 
     'Zip', 
     'Country'], 
    colModel: columns, 
    postData: Reports.CompanySearch.CreateSearchModel(viewModel),  
    url: '/CompanyReport/Search', 
    datatype: emptyInit ? 'local' : 'json', 
    mtype: 'POST', 
    viewrecords: true, 
    loadonce: false, 
    shrinkToFit: false, 
    multiselect: false, 
    autowidth: true, 
    altRows: true, 
    height: 'auto'  
});}; 

基本功能的頁面(A)數據網格其中包含SQL Server從表中加載的公司名單上創建。 公司名稱有一個鏈接,允許用戶單擊它並在不同的頁面(頁面B)上獲取公司詳細信息。 頁面A由JavaScript FileB.js和頁面B通過JavaScript FileB.js控制。 我想在每次用戶點擊公司名稱時將公司ZipCode轉換爲FileB.js中的函數。 我在網上遇到的解決方案目前沒有幫助,任何幫助都將非常感激。謝謝!

回答

0

由於您使用的是淘汰賽,請查看Components

協調兩者的方法是擁有一個父文件,該文件知道它們兩者並在它們之間進行中介。父代會創建數據對象並將它們傳遞給兩個組件對象。

相關問題