我有一个元素,它将一个范围变量传递给一个指令,但是没有获得我期望在指令中的值,我得到一个变量名的字符串。
myApp.directive('slide', function () {
return function (scope, element, attrs) {
function animate(slide) {
if (slide) {
$(element).slideDown(300);
} else {
$(element).slideUp(300);
}
};
// Animate based on initial value
animate(scope.$eval(attrs.slide));
// Animate on scope change
scope.$watch(attrs.slide, function (newVal) {
animate(newVal);
});
};
});
<ul slide="option.expanded"></ul>
控制台显示intial option.expanded
。然而,当scope.$watch
触发时,值应该是(布尔值)。该变量最初在视图的控制器中设置。
有没有人有任何建议?我尝试了很多不同的东西,但都无济于事。