我正在调用指令:
<latest-survey survey="latestSurvey"></latest-survey>
我的指令的代码是:
function latestSurvey(){
return {
restrict: 'E',
templateUrl: 'js/modules/survey/latest.html',
scope: {
survey: '=survey'
},
link: function(scope, element, attrs){
console.log(scope);
console.log(scope.survey);
}
}
}
console.log(scope)
行输出范围:
Scope {$id: "007", $$childTail: null, $$childHead: null, $$prevSibling: null, $$nextSibling: null…}
$$asyncQueue: Array[0]
$$childHead: null
$$childTail: null
$$destroyed: false
$$isolateBindings: Object
$$listenerCount: Object
$$listeners: Object
$$nextSibling:
$$childScopeClass
$$phase: null
$$postDigestQueue: Array[0]
$$prevSibling: null
$$watchers: Array[3]
$id: "007"
$parent:
$$childScopeClass
$root: Scope
survey: Object
this: Scope
__proto__: Scope
如您所见,survey
列在那里,我可以在控制台中浏览它以查看其属性。但是,下一行console.log(scope.survey)
输出:
undefined
如何在范围内访问此对象?
答案 0 :(得分:0)
调查是否在控制器中异步加载(latestSurvey
)? scope.survey
为undefined
的原因之一可能是因为请求未完成且项目为空。
我建议您尝试使用一些虚拟数据设置$scope.latestSurvey
并查看问题是否仍然存在。