在链接功能中访问AngularJS指令范围

时间:2014-03-19 12:39:52

标签: angularjs

我是AngularJS的新手。我正在写一个指令。目前,我的指令如下所示:

.directive('myDirective', function(component) {
  return {
    restrict:'E',
    replace:true,
    templateUrl: 'myTemplate.tpl.html',
    scope: {
      myAttribute: '='
    },
    link: function(scope, element, attrs) {
      console.log(scope.myAttribute);
    }
  };
})

我想在我的HTML中使用此指令,如下所示:

<myDirective myAttribute="true"></myDirective>

我的问题是,如何获得&#39; myAttribute&#39;的价值?在我的指令的链接功能?我需要获得这个价值来做一些程序化的东西。但是,我目前的做法总是打印出未定义的&#39;到JavaScript控制台。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

首先,在您的HTML中,您需要将指令定义中的驼峰案例名称转换为pascal大小写,因此您的HTML应该是:

<my-directive my-attribute="true"></my-directive>

以及如何在链接功能中访问它们,简单:

var value =scope.myAttribute;

答案 1 :(得分:0)

小心骆驼案例语法。您必须填充您的属性:

<myDirective my-attribute="true"></myDirective>

整蛊......