是因为我使用$swipe
吗?
HTML
<div start_slide_at="459" slide-controller></div>
JS
myApp.directive('slideController', ['$swipe',
function($swipe) {
return {
restrict: 'EA',
scope: {
start_slide_at: '='
},
link: function(scope, element, attrs) {
console.log(scope.start_slide_at);
}
}
}
]);
现在返回undefined
:/
答案 0 :(得分:2)
你可以使用scope.startSlideAt变量获取值。 &#34; _&#34;或&#34; - &#34;在direcitve中使用双重绑定时,在angularjs的情况下,DOM属性被转换为camel大小写。所以这是你修改过的链接函数和范围属性。
scope: {
startSlideAt: '='
},
link: function(scope, element, attrs) {
console.log(scope.startSlideAt);
}
希望这能解决您的问题。
答案 1 :(得分:2)
=
表示双向绑定。
它需要范围变量而不是值
如果你想传递价值,那就制作范围
scope: {
startSlideAt: '@'
},
指令转换 - ,_ camecase
指令有诸如ngBind之类的骆驼名称。该指令可以 通过将驼峰案例名称翻译成蛇案例来调用 特殊字符:, - 或_
所以在链接
console.log(scope.startSlideAt);