我正在尝试将可选参数 isvalid 从我的html传递给指令。我已经按照文档中提到的所有步骤进行了操作,但它仍然看起来我做错了什么..我无法读取我的指令中的值。你能让我知道我做错了什么吗?
HTML
A B C D E
MY指令
更新:我已经简化了提问,因此你看到了范围。我现在更新了实际指令
<customvideo isvalid="true"></div>
答案 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);
}