Breeze 可观察项在敲除绑定中没有元素
我遇到了有线问题,应用自定义绑定前后数组的记录计数为8,但在调试绑定时数组为空。因为数组是空的,所以网格不显示任何内容。我做错了什么Breeze 可观察项在敲除绑定中没有元素,breeze,knockout-2.0,Breeze,Knockout 2.0,我遇到了有线问题,应用自定义绑定前后数组的记录计数为8,但在调试绑定时数组为空。因为数组是空的,所以网格不显示任何内容。我做错了什么 var vM = { recordsCount: ko.observable(), countries: ko.observableArray() }; $(function () { getAllCountries(); // Handler fo
var vM = {
recordsCount: ko.observable(),
countries: ko.observableArray()
};
$(function () {
getAllCountries();
// Handler for .ready() called.
//alert(myns.JavaScript1);
//alert(myns.JavaScript1);
//alert(myns.JavaScript2);
});
var serviceName = "/breeze/CountriesBreeze/";
var manager = new breeze.EntityManager(serviceName);
/*** supporting functions ***/
function getAllCountries() {
var query = breeze.EntityQuery.from("GetCountries");
console.log("Getting Countries");
return manager.executeQuery(query)
.then(function(data) {
vM.countries(data.results);
alert(vM.countries().length);
ko.applyBindings(vM);
alert(vM.countries().length);
}).fail(
alert( "Error getting Data")
)
}
</script>
<div id="log"></div>
var-vM={
recordsCount:ko.observable(),
国家:韩国
};
$(函数(){
getAllCountries();
//调用了.ready()的处理程序。
//警报(myns.JavaScript1);
//警报(myns.JavaScript1);
//警报(myns.JavaScript2);
});
var serviceName=“/breeze/CountriesBreeze/”;
var manager=new breeze.EntityManager(serviceName);
/***辅助功能***/
函数getAllCountries(){
var query=breeze.EntityQuery.from(“GetCountries”);
console.log(“获取国家”);
return manager.executeQuery(查询)
.then(功能(数据){
vM.国家(数据、结果);
警报(vM.countries().length);
ko.应用绑定(vM);
警报(vM.countries().length);
}).失败(
警报(“获取数据时出错”)
)
}
]
}">
</table>
}>
将您的ko.applyBindings()
语句移到此处:
var vM = {
recordsCount: ko.observable(),
countries: ko.observableArray()
};
$(function () {
getAllCountries();
// Handler for .ready() called.
//alert(myns.JavaScript1);
//alert(myns.JavaScript1);
//alert(myns.JavaScript2);
});
ko.applyBindings(vM);
然后我不确定仅仅执行vM.countries(data.results)
是否有效,您可能需要迭代并推送每个值,或者执行以下操作:
vM.countries(data.results)
vM.countries.valueHasMutated()