Angularjs - 从HTML传递Directive的可选参数

时间:2017-09-28 18:28:11

标签: angularjs angularjs-directive

我正在尝试将可选参数 isvalid 从我的html传递给指令。我已经按照文档中提到的所有步骤进行了操作,但它仍然看起来我做错了什么..我无法读取我的指令中的值。你能让我知道我做错了什么吗?

HTML

A B C D E

MY指令
更新:我已经简化了提问,因此你看到了范围。我现在更新了实际指令

 <customvideo isvalid="true"></div>

2 个答案:

答案 0 :(得分:1)

更改$Scope内的Directive Definition Object属性(DDO)应更改为scope。另外使用link函数而不是compile,因为compile函数只能访问原始DOM,因此不会有范围可用。即使您可以从编译函数返回PreLink / PostLink,但在这种情况下,我认为使用link是合适的。

angular.module('directives')
.directive('customvideo', function () {
    return {
       link: link,
       restrict: 'A',
       scope: {
          isvalid: '=?'
       }
    }
);

function link(scope) {
   console.log(scope.isvalid);
}

答案 1 :(得分:0)

找到了解决问题的方法..不确定它是否是最好的...但是嘿..它有效:)在这里发布给那些来这里寻找答案的人... 我正在编写错误编译的语法...我将其更改为

 function  compile(tElement, tAttrs, transclude)
  {
    // the tAttrs param has all the attributes associated with the element
    console.log(tAttrs.isvalid);
  }