Angularjs 我的模型绑定发生了什么变化?
我有一个小型AngularJs应用程序,它使用Angularjs 我的模型绑定发生了什么变化?,angularjs,Angularjs,我有一个小型AngularJs应用程序,它使用$resource使用RESTful web服务。资源(salesOrderResource)返回我绑定到模型的vm.rowData的五个对象。我将返回的资源写到控制台,以表明我确实有数据: 但是,一旦超出资源的查询功能,vm.rowData就会突然未定义: 我不明白为什么会这样。我希望有人能对这里发生的事情有所了解 这是我的控制器: (函数(){ “严格使用”; 有棱角的 .模块(“应用程序”) .controller(“SalesOrder
$resource
使用RESTful web服务。资源(salesOrderResource
)返回我绑定到模型的vm.rowData
的五个对象。我将返回的资源写到控制台,以表明我确实有数据:
但是,一旦超出资源的查询
功能,vm.rowData
就会突然未定义:
我不明白为什么会这样。我希望有人能对这里发生的事情有所了解
这是我的控制器:
(函数(){
“严格使用”;
有棱角的
.模块(“应用程序”)
.controller(“SalesOrderListCtrl”,[“salesOrderResource”,SalesOrderListCtrl]);
函数SalesOrderListCtrl(salesOrderResource){
var vm=这个;
vm.columnDefs=[
{headerName:“销售订单#”,字段:“SalesOrderNumber”},
{headerName:“Lot#”,字段:“LotNumber”},
{标题名称:“数量”,字段:“数量”},
{标题名称:“状态”,字段:“状态”},
{headerName:“Branch”,字段:“Branch”}
];
salesOrderResource.query(函数(数据){
vm.rowData=数据;
console.log(“在查询功能中:”);
console.log(vm.rowData);
})
log(“外部查询功能:”);
console.log(vm.rowData);
vm.gridOptions={
//属性-对象属性、myRowData和myColDefs在应用程序中的某个位置创建
rowData:vm.rowData,
columnDefs:vm.columnDefs,
//属性-简单布尔/字符串/数字属性
enableColResize:true,
行高:22,
行选择:“单个”,
//事件-添加事件回调处理程序
onRowClicked:function(event){console.log(“单击了一行”);},
onColumnResized:function(event){console.log(“调整了列大小”);},
onGridReady:function(event){console.log(“网格现在准备就绪”);},
//回调
isScrollLag:函数(){return false;}
}
}
})();代码>$resource.query是异步的。
您的外部查询功能将在查询功能完成之前打印
salesOrderResource.query(function (data) {
vm.rowData = data;
console.log("In query function:");
console.log(vm.rowData);
})
这将首先发生
console.log("Outside query function:");
console.log(vm.rowData);
尝试将此替换为
setTimeout(function() {
$scope.$apply(function () {
console.log("Outside query function delayed:");
console.log(vm.rowData);
});
}, 1000);
啊!!我明白你的意思。然而,让我走上这条道路的是,我试图在我的ag网格
选项中使用vm.rowData
。但是在填充网格选项时,vm.rowData
中没有任何内容。谢谢你的帮助!