更改指令链接功能的范围

时间:2016-01-20 10:46:35

标签: angularjs

我正在尝试从指令中的链接函数设置范围值,但它似乎不起作用。

我基本上尝试在用户更改日期选择器字段时设置范围值,如下所示...

app.directive('searchForm', function() {
return{
    replace: true,
    restrict: 'E',  
    templateUrl: "/app/views/sales/search/search-form.html",
    link: function(element,attrs,scope){
        $('.checkIn').datepicker({
            minDate: new Date(),
            onSelect: function(date){
            var selectedDate = new Date(date);
            var msecsInADay = 86400000;
            var endDate = new Date(selectedDate.getTime() + msecsInADay);

            $(".checkOut").datepicker( "option", "minDate", endDate );
            $(".checkOut").datepicker( "option", "maxDate", '+2y' );
            $('.checkOut').attr('disabled', false);
            if($('.checkOut').val()){
                $('.numNights').val(($('.checkOut').datepicker('getDate') - $(this).datepicker('getDate'))/1000/60/60/24);
            }
            }
        });


        $('.checkOut').datepicker({
            onSelect :function(){
                scope.$apply(function(){
                    scope.search.nights = "Test";
                });
            }
        });             
    }
};

});

我也尝试了scope.$apply(),但这也不起作用。

任何帮助都非常感激。

1 个答案:

答案 0 :(得分:1)

你"链接"功能有错误的签名。它应该是:

set PATH=C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\
set GIT_ROOT=C:\Program Files\Git
set PATH=%PATH%;%GIT_ROOT%;%GIT_ROOT%\cmd;%GIT_ROOT%\bin;%GIT_ROOT%\usr\bin
set MATLAB_ROOT=C:\Program Files\MATLAB\R2013b
set PATH=%PATH%;%MATLAB_ROOT%;%MATLAB_ROOT%\bin;%MATLAB_ROOT%\runtime\win64;%MATLAB_ROOT%\polyspace\bin;
set PATH=%PATH%;C:\Users\sepideh\Documents\MATLAB

请参阅documentation中的创建操纵DOM的指令部分。或者甚至更好document