假设我有以下指令:
.directive("counter", function () {
return {
restrict: "E",
scope:{
bindModel:'=ngModel'
},
templateUrl: "/directives/countertemplate.html"
和模板:
<div id="counter" ng-class="{true: 'twitter-counter'}[bindModel.length > 140]">
{{140 - bindModel.length}}
</div>
有没有办法让我知道传递给指令的模型的名称:
<counter ng-model="twitterPost"></counter>
例如我想从模板的上下文知道&#34; twitterPost&#34;被发送到模板,所以我可以执行一组不同于&#34; facebookPost&#34;
答案 0 :(得分:1)
在链接功能中,您可以从元素中检索所有属性。的 DEMO 强>
template: "<div ng-show='isTwitterPost'>Twitter</div><div ng-show='!isTwitterPost'>Facebook</div>",
link: function ($scope, element, attrs) {
$scope.isTwitterPost = attrs.ngModel === 'twitterPost';
}
您应该添加额外的属性。
<counter ng-model="twitterPost" is-twitter='true'></counter>
答案 1 :(得分:0)
你应该以角度方式进行,传递带有你需要的所有信息的对象,并在指令中处理逻辑
在这个小提琴:
//jsfiddle.net/HB7LU/6052/