我试图通过点击条形图过滤表中的数据(当我点击栏时,在表格中出现相应的记录)
在控制器中,有myvar = $(reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /f /v VAR)
方法从对象中获取名称。
onlick
还有一个带有隔离范围的表格指令,它期望一个国家被传递
onclick: function(d, i) {
$scope.country = d.name;
console.log($scope.country);
}
所以它在指令中绑定了隔离范围。
.directive("countryItem", function() {
return {
restrict: "E",
templateUrl: "table.html",
//isolated scope and 2-way bind country
scope: {
country: "="
},
link: function(scope, element, attrs) {
scope.countries = [{"country":"Argentina","fifarank":7},{"country":"Belgium","fifarank":12}, {"country":"Croatia","fifarank":14}];
}
};
});
我做错了什么?这是plunker,但onclick方法仅适用于Firefox和旧版本的Chrome和Opera。
答案 0 :(得分:1)
这里有几个问题:
1)在您的Plunker中,您没有将country
的值传递给指令 - 应该是这样的:
<country-item country="country"></country-item>
2)filter
上的语法错误 - 应该是这样的:
<tr ng-repeat="foot in countries | orderBy:orderByField:reverse | filter:country">
3)当您从D3或其他非Angular事件处理程序调用Angular代码时,需要将其包装在$timeout
中以触发Angular $ digest循环。
onclick: function(d, i) {
$timeout(function(){
$scope.country = d.name;
console.log($scope.country);
});
}