指令中score_stats的值始终未定义,而在父作用域中,stats变量具有正确的值。我做错了什么?
我在模板中有这个代码(而fixtures_stats是一个数组):
div(ng-repeat="stats in fixture_stats")
scenario-analysis(score_stats="stats")
该指令中的代码:
{
templateUrl: '/' + appVersion + '/directives/scenario-analysis.html',
scope:{
score_stats:'=score_stats'
},
controller: function($scope, $element, $attrs) {
console.log('directive $scope.score_stats: ' + $scope.score_stats +
', $scope.$parent.stats: ' + $scope.$parent.stats);
},
};
指令模板中的此代码:
h3 Scenarios for {{ score_stats.score1 }}-{{ score_stats.score2 }} score combo
在控制台中我得到:
directive $scope.score_stats: undefined, $scope.$parent.stats: [object Object]
directive $scope.score_stats: undefined, $scope.$parent.stats: [object Object]
答案 0 :(得分:1)
首先,您应该使用score_stats
属性的表达式:
div(ng-repeat="stats in fixture_stats")
scenario-analysis(score_stats="stats")
然后在指令定义而不是scope_stats
范围属性将成为camelCase' ed:
scope: {
scoreStats: '='
}
所以在指令模板中你需要改为:
Scenarios for {{ scoreStats.score1 }}-{{ scoreStats.score2 }} score combo