我用angular创建了一个自定义指令。我想通过使用范围的指令传递父数据,但我得到了未定义的'当我记录范围和范围.questionId。
HTML
<a class="waves-effect waves-light btn" my-directive="" on-flag="someFunction" question-id="question">Flag</a>
角度指令
angular.module('myApp').directive('myDirective', function($http) {
return {
restrict: 'A',
scope: {
onFlag: '&onFlag',
questionId: '='
},
link: function(scope, element, attrs) {
element.click(function() {
console.log(scope);
console.log(scope.questionId);
return;
});
}
};
});
答案 0 :(得分:3)
试试这个
elem.bind : - 它使用的是JQuery的精简版JQLite。这里我们编写代码来处理在指令上执行的click事件。 它与JQuery $(“class or id”)相同.Click()。 (我希望这个解释已经足够了)
angular.module('myApp').directive('myDirective', function($http) {
return {
restrict: 'A',
scope: {
onFlag: '&onFlag',
questionId: '='
},
link: function(scope, elem, attrs) {
elem.bind('click', function() {
console.log(scope.questionId);
});
}
};
});