变量传递给指令而不解析

时间:2014-08-07 21:19:36

标签: angularjs angularjs-directive

我有一个元素,它将一个范围变量传递给一个指令,但是没有获得我期望在指令中的值,我得到一个变量名的字符串。

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触发时,值应该是(布尔值)。该变量最初在视图的控制器中设置。

有没有人有任何建议?我尝试了很多不同的东西,但都无济于事。

0 个答案:

没有答案