我这下面的指令
(function() {
'use strict';
angular
.module('app')
.directive('rcLevel', ['spreadsheet', rcLevel]);
function rcLevel(spreadsheet) {
return {
restrict: 'A',
scope: {
record: '='
},
templateUrl: 'js/directives/rcLevel.html',
controller: function($scope) {
$scope.spreadsheet = spreadsheet.data;
$scope.propsOpen = false;
$scope.props = Object.keys($scope.record.properties).length > 0;
$scope.level = level($scope.record);
console.log($scope.level);
// Logic
function level(record) {
$scope.spreadsheet.forEach(function(row) {
if (row.Name.indexOf(record.event) > -1) {
console.log('Highlighting: level' + row.Level);
return 'level' + row.Level;
}
});
}
}
};
}
})();
我ng-repeat
使用它。一切工作正常,但是,$scope.level
据说是未定义的。
控制台日志里面level
功能正常,但控制台日志记录$scope.level
说'未定义'。
我试图完成基于从spreadsheet
数据突显ng-repeat
某些行,所以我用它作为ng-class="level"
附接所需的类,以$scope.level
,然后在代码中。
任何想法?
噢,我的,现在我明白了。谢谢 – Idefixx
@Idefixx我不确定我所做的就够了。我会做一些检查,然后回来 –
你确实想到了,但是你的解决方案不起作用。我所做的就是添加一个'var result',然后将''level'+ row.Level'附加到它,然后返回'result'。现在作品 – Idefixx