我正在使用Nunjucks来渲染一个模板超时的东西击中了正确的URL。这是该模板的一部分:
<h3>Select some text </h3>
<div ng-app="myApp">
{% for i in result %}
<div id={{i._id}} class="task" commentId = {{i._id}} get-popover-content> {{i.text}} </div> <br/>
{% endfor %}
我还在这个模板中放了一个有角度的JS脚本,现在,我只想弄清楚在指令中传递变量{{i._id}}的最佳方法是什么(可能,我想将此i._id发送到我的数据库以获取信息。
<script>
var app = angular.module("myApp", []);
app.directive("getPopoverContent", function($http) {
return {
link: function(scope, element, attr) {
element.popover();
$(element).on('mouseover', function(e){
console.log('i._id = ',{{i._id}});
})
})
} }});
答案 0 :(得分:0)
有两种方法可以做到这一点,你可以将它绑定到指令范围。
var app = angular.module("myApp", []);
app.directive('getPopoverContent', function() {
function link(scope, element, attrs) {
console.log(scope.commentId);
}
return {
link: link,
restrict: 'A',
scope: {
commentId: '=commentId'
}
};
});
&#13;
或者您可以使用attrs参数将其从任何属性中删除
var app = angular.module("myApp", []);
app.directive('getPopoverContent', function() {
function link(scope, element, attrs) {
console.log(attrs.commentId);
}
return {
link: link,
}
};
});
&#13;