为什么这个指令不起作用?

时间:2013-12-29 21:48:50

标签: angularjs

我正在遵循一个指令示例,但它不起作用。我尝试添加自己的JQuery版本。不行。对我来说它看起来不错,但是自从我开始以来,这并没有说太多。有什么想法吗?

http://plnkr.co/edit/1X1Yns10mzRrWmIfSRhV?p=preview

嵌入式问题:我认为Angular会在指令中压缩默认错误处理,如果我将示例元素更改为esssslement - 请勿在控制台中获取错误。有什么方法可以改变这个吗?

这里又是指令的代码:

myApp.directive('userStory', function() {
  var linker = function(scope, element, attrs) {
      element.mouseover(function() {
        console.log("mouseover!");
        element.css({'opacity': 0.1});
      }).mouseout(function() {
        element.css({'opacity': 1.0});
      });
  };

  var controller = function($scope) {

  };

  return {
    restrict: 'A',
    controller: controller,
    linker: linker
  };
});

谢谢!

编辑:更正了plnkr中的脚本 - 1.键必须是“链接”而不是“链接器”,2。必须包含JQuery脚本,并且在Angular包含之前。

1 个答案:

答案 0 :(得分:1)

有几件事:

首先,link函数为link而非linker。另一方面,要在angular中绑定“经典”事件,请使用以下语法:

element.bind('event', function() {

   //stuff

});

见这里:http://plnkr.co/edit/WX8Pcm6ZVwA9F00Ry8Mz?p=preview