Angularjs 我的模型绑定发生了什么变化?

Angularjs 我的模型绑定发生了什么变化?,angularjs,Angularjs,我有一个小型AngularJs应用程序,它使用$resource使用RESTful web服务。资源(salesOrderResource)返回我绑定到模型的vm.rowData的五个对象。我将返回的资源写到控制台,以表明我确实有数据: 但是,一旦超出资源的查询功能,vm.rowData就会突然未定义: 我不明白为什么会这样。我希望有人能对这里发生的事情有所了解 这是我的控制器: (函数(){ “严格使用”; 有棱角的 .模块(“应用程序”) .controller(“SalesOrder

我有一个小型AngularJs应用程序,它使用
$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
中没有任何内容。谢谢你的帮助!