AngularJS:为什么可以';我将DOM属性值传递给指令

AngularJS:为什么可以';我将DOM属性值传递给指令,angularjs,angularjs-directive,swipe,Angularjs,Angularjs Directive,Swipe,是因为我正在使用$swipe HTML <div start_slide_at="459" slide-controller></div> 它现在返回未定义的,//您可以使用scope.startSlideAt变量获取值。当在direcitve中使用双绑定时,如果是angularjs,DOM属性中的“\u1”或“-”将转换为驼峰大小写。下面是修改后的link函数和scope属性 scope: { startSlideAt: '=

是因为我正在使用
$swipe

HTML

<div start_slide_at="459" slide-controller></div>

它现在返回未定义的
,//

您可以使用scope.startSlideAt变量获取值。当在direcitve中使用双绑定时,如果是angularjs,DOM属性中的“\u1”或“-”将转换为驼峰大小写。下面是修改后的link函数和scope属性

     scope: {
                startSlideAt: '='
            },

    link: function(scope, element, attrs) {
                console.log(scope.startSlideAt);
              }

希望这能解决您的问题。

您可以使用scope.startSlideAt变量获得值。当在direcitve中使用双绑定时,如果是angularjs,DOM属性中的“\u1”或“-”将转换为驼峰大小写。下面是修改后的link函数和scope属性

     scope: {
                startSlideAt: '='
            },

    link: function(scope, element, attrs) {
                console.log(scope.startSlideAt);
              }

希望这能解决您的问题。

=
表示双向绑定

它需要范围变量而不是值

如果您只想传递值,那么就创建范围

scope: {
                startSlideAt: '@'
            },
和指令转换-,uCAME

指令有驼峰大小写的名称,如ngBind。指令可以是 通过将camel case名称转换为snake case来调用 特殊字符:、-、或_

所以在链接中

console.log(scope.startSlideAt);

=
表示双向绑定

它需要范围变量而不是值

如果您只想传递值,那么就创建范围

scope: {
                startSlideAt: '@'
            },
和指令转换-,uCAME

指令有驼峰大小写的名称,如ngBind。指令可以是 通过将camel case名称转换为snake case来调用 特殊字符:、-、或_

所以在链接中

console.log(scope.startSlideAt);

你能更深入地解释一下这种双向绑定吗?为什么在我测试时两者都能正常工作的情况下使用一个而不是另一个呢?你能更深入地解释一下这种双向绑定吗?为什么在我测试时两者都能正常工作的情况下使用一个而不是另一个呢。