我有一个锚标签,我希望根据模型中的值隐藏或显示。
<table>
<tr ng-repeat="item in items">
<td>Other Stuff</td>
<td>
<a href="#/somewhere" ng-show="model.showIt" myCustomDir="some value" onClick="bar(item)" />
</td>
</tr>
</table>
现在在我的指令中,我有以下内容:
app.directive('myCustomDir', function() {
var def = {
restrict: 'A',
scope: {
onClick: "&"
},
link: function(scope, element, attrs) {
var hover = angular.element("<div><b>Some Text</b></div>");
var button = hover.find('b');
button.on('click', function() {
scope.$apply(function() {
scope.onClick();
})
});
}
};
return def;
})
问题是,一旦我包含我的指令,我认为 ng-show 就不再起作用了,那是因为如果我是正确的,那是因为我的指令在隔离范围内工作,因此来自父范围的模型不再存在。
如何让我的指令与 ng-show 很好地配合使用,同时仍然能够让某人在单击标签时调用他们想要调用的方法。
Plunker 适合所有感兴趣的人。http://plnkr.co/edit/BLMCgB