2015-12-11 51 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

协调两者的方法是拥有一个父文件,该文件知道它们两者并在它们之间进行中介。父代会创建数据对象并将它们传递给两个组件对象。

相关问题