Javascript 为什么我的排不突出有棱角的
我试图突出一行的角度。这是我的html:Javascript 为什么我的排不突出有棱角的,javascript,angularjs,Javascript,Angularjs,我试图突出一行的角度。这是我的html: <tr ng-class="{selected: $index==selectedIndex}" ng-repeat="encounter in encounters | filter:search" data-id="{{encounter.id}}" ng-click="getSelectedRow($index)"> 这将广播到控制器以突出显示行。这里是控制器应该做的事情,这很神奇: $scope.$on('selectedRo
<tr ng-class="{selected: $index==selectedIndex}" ng-repeat="encounter in encounters | filter:search" data-id="{{encounter.id}}" ng-click="getSelectedRow($index)">
这将广播到控制器以突出显示行。这里是控制器应该做的事情,这很神奇:
$scope.$on('selectedRow', function(event, data) {
$scope.selectedIndex = data.rowIndex;
$scope.selectedEncounter = $scope.encounters[data.rowIndex];
});
控制器中的代码被命中,但该行从未高亮显示。我缺少什么?ng class=“{selected:$index==$parent.selectedIndex}”
$parent是键,否则您将指向行上的selectedindex,而不是范围这取决于谁持有成员属性
selectedindex
-如果是指令,则不需要$parent,b/c ng repeat可以看到指令的范围。但是,如果是页面控制器(或包含该指令的控制器),则需要通过该指令的$parent访问它
jsfiddle:
HTML
输入0-9之间的数字
使用应用范围
[0,1,2,3,4,5,6,7,8,9]中的
var myApp=angular.module('myApp',[]);
myApp.directive('myDirective',function(){
返回{
限制:'E',
模板:“
在[10,11,12,13,14,15,16,17,18,10]中使用$parent.scope- {{y}
你能用这个例子创建一个plunker吗?“行上的selectedindex”-这是什么意思?Jason,你能详细解释一下吗?顺便说一句,这并没有解决问题。
<div ng-controller="MyCtrl">enter a number from 0 - 9
<input ng-model='selectedIndex' type='text'>
Uses appliction scope
<ul>
<li ng-repeat='x in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]' ng-class='{"selected": $index==selectedIndex}'>{{x}}</li>
</ul>
<my-directive></my-directive>
</div>
var myApp = angular.module('myApp', []);
myApp.directive('myDirective', function () {
return {
restrict: 'E',
template: "<div><hr/>Uses $parent.scope<ul><li ng-repeat='y in [10, 11, 12, 13, 14, 15, 16, 17, 18, 10]' ng-class='{\"selected\": $index==$parent.selectedIndex}'>{{y}}</li></ul></div>"
};
});
function MyCtrl($scope) {}