JSON数据具有可选属性
从我的服务器返回的JSON具有可选属性(例如),CompanyNumber有时为NULL,因此它将从特定公司的JSON响应中删除。(JMSSerializeBundle) 如果我绑定它来呈现一个表中的所有公司,那么一旦有一个公司没有公司编号,它就会崩溃。有没有办法防止这种情况发生 当前代码:JSON数据具有可选属性,json,mvvm,knockout.js,knockout-mapping-plugin,Json,Mvvm,Knockout.js,Knockout Mapping Plugin,从我的服务器返回的JSON具有可选属性(例如),CompanyNumber有时为NULL,因此它将从特定公司的JSON响应中删除。(JMSSerializeBundle) 如果我绑定它来呈现一个表中的所有公司,那么一旦有一个公司没有公司编号,它就会崩溃。有没有办法防止这种情况发生 当前代码: <script type="text/javascript"> $(document).ready(function() { $.getJSON(Routing.generate('co
<script type="text/javascript">
$(document).ready(function() {
$.getJSON(Routing.generate('contacts_companies_get_json'), function(data) {
var companies = ko.mapping.fromJS(data);
ko.applyBindings({
'companies': companies
});
})
});
</script>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Company Number</th>
<th>Account</th>
<th>Supplier</th>
<th>Competitor</th>
<th>Other</th>
<th></th>
</tr>
</thead>
<tbody data-bind="foreach: companies">
<tr>
<td><a href="#" class="title"><span data-bind="text: name"></span> <span data-bind="text: legal_form"></span></a></td>
<td><span data-bind="text: company_number"></span></td>
<td><span data-bind="if: type_account" ><i class="icon-check"></i></span></td>
<td><span data-bind="if: type_supplier" ><i data-bind="if: type_supplier" class="icon-check"></i></span></td>
<td><span data-bind="if: type_competitor" ><i data-bind="if: type_competitor" class="icon-check"></i></span></td>
<td><span data-bind="if: type_other" ><i data-bind="if: type_other" class="icon-check"></i></span></td>
<td><a class="btn btn-mini">Details</a><td>
</tr>
</tbody>
</table>
$(文档).ready(函数(){
$.getJSON(Routing.generate('contacts\u companys\u get\u json'),函数(data){
var companys=ko.mapping.fromJS(数据);
ko.applyBindings({
‘公司’:公司
});
})
});
名称
公司编号
账户
供应商
竞争对手
其他
细节
你能试试这个吗:
<div data-bind="text: name() ? name() : ''"></div>
参考:
可能重复:我收到此错误未捕获错误:无法解析绑定。消息:ReferenceError:未定义公司编号;绑定值:text:company_number()?company_number():“”它适用于第一个(具有公司编号)。当到达第一个没有公司编号的公司时,渲染停止。(当该公司的JSON树中的公司编号为空时,该编号未定义)我添加了另一个链接,指向一个问题,该问题似乎是您正在寻找的。可能是重复的