Angularjs 如何避免angular.js在执行某些操作之前抢先获取数据

Angularjs 如何避免angular.js在执行某些操作之前抢先获取数据,angularjs,Angularjs,刚开始使用angular.js并实现了一个指令,该指令从仅在单击按钮时定义的范围内的属性读取。UI看起来很好,因为只有在单击按钮时才会显示指令部分。但是,当第一次加载页面时,控制台中会显示一条错误消息,提示“无法读取未定义的属性someProperty” 我一定违反了一些角度的原则,但我不知道如何修复它。谢谢你的帮助 注意:不要胡闹,因为这是一个一般性的问题。一般来说,如果你有类似的代码模式 $scope.myObject.property 然后,当myObject为undefined时,您可

刚开始使用angular.js并实现了一个指令,该指令从仅在单击按钮时定义的范围内的属性读取。UI看起来很好,因为只有在单击按钮时才会显示指令部分。但是,当第一次加载页面时,控制台中会显示一条错误消息,提示“无法读取未定义的属性someProperty”

我一定违反了一些角度的原则,但我不知道如何修复它。谢谢你的帮助


注意:不要胡闹,因为这是一个一般性的问题。

一般来说,如果你有类似的代码模式

$scope.myObject.property
然后,当
myObject
undefined
时,您可以看到错误

消除代码工作中的错误的一种可能的方法是确保对象在任何属性被引用时总是初始化

可以在引用属性之前放置此行

$scope.myObject = {};
或者


这里没有火箭科学。

没有,这可能是一个常见的问题,但答案总是与您所编写的代码有关,因此您需要在某个地方提供。感谢您的提示——我确实这样做了,正如皮诺奇所指出的,我不认为最初的问题完全是一个声明问题,因为对象的部分显示了,而部分没有显示。错误消息来自我的一个控制台日志,而不是指令。然而,我很难将它放到JSFIDLE上,因为它的一部分通过回调与后端$resource进行对话。有没有关于如何更好地呈现代码的想法?谢谢
if($scope.myObject !== undefined){
    ...
}