Javascript 通过自定义指令传递数据

Javascript 通过自定义指令传递数据,javascript,angularjs,angularjs-directive,angularjs-scope,Javascript,Angularjs,Angularjs Directive,Angularjs Scope,我在angular中创建了一个自定义指令。我想使用scope通过指令传递父数据,但是当我记录scope和scope.questionId时,我得到了“未定义” HTML <a class="waves-effect waves-light btn" my-directive="" on-flag="someFunction" question-id="question">Flag</a> 试试这个 elem.bind:它使用JQLite,它是JQuery的lite版本。

我在angular中创建了一个自定义指令。我想使用scope通过指令传递父数据,但是当我记录scope和scope.questionId时,我得到了“未定义”

HTML

<a class="waves-effect waves-light btn" my-directive="" on-flag="someFunction" question-id="question">Flag</a>
试试这个

elem.bind:它使用JQLite,它是JQuery的lite版本。这里我们编写代码来处理对指令执行的单击事件。 它类似于JQuery$(“类或id”)。单击()。(我希望这就足够了)

angular.module('myApp')。指令('myDirective',函数($http){
返回{
限制:“A”,
范围:{
onFlag:“&onFlag”,
问题编号:'='
},
链接:功能(范围、要素、属性){
元素绑定('单击',函数(){
console.log(scope.questionId);
});
}
};
});试试这个

elem.bind:它使用JQLite,它是JQuery的lite版本。这里我们编写代码来处理对指令执行的单击事件。 它类似于JQuery$(“类或id”)。单击()。(我希望这就足够了)

angular.module('myApp')。指令('myDirective',函数($http){
返回{
限制:“A”,
范围:{
onFlag:“&onFlag”,
问题编号:'='
},
链接:功能(范围、要素、属性){
元素绑定('单击',函数(){
console.log(scope.questionId);
});
}
};

});
尝试记录
attrs.onFlag
attrs.questionId
我得到了用于记录attrs.onFlag的onFlag(),但对于attrs.questionId仍然未定义。为什么返回
元素。单击
函数,您试图通过这样做实现什么?查看此提琴:@Jason,您在哪里定义
someFunction
question
?尝试记录
attrs.onFlag
attrs.questionId
我得到了onFlag()用于记录attrs.onFlag,但仍然没有定义attrs.questionId为什么返回
元素。单击
函数,你想通过这样做实现什么?看看这把小提琴:@Jason,你在哪里定义
someFunction
question
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;
      });
    }
  };
});