Javascript ng显示angularjs指令中的ng点击不起作用

Javascript ng显示angularjs指令中的ng点击不起作用,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我正在努力解决我目前遇到的一个问题 我有一个视图,一个指令和一个使用templateurl调用的指令模板 我的模板在指令中运行良好,我可以在视图中看到它;然而,有些函数不起作用 例如,我的指令调用的模板有一个ng show=“toShow()”,这不起作用。toShow(inDate,outDate)是我指令中的一个函数,它根据传递给它的数据返回false或true 它如何使我的指令模板以与在视图中创建的临时模板相同的方式工作 多谢各位 编辑: //指示 app.directive('rc

我正在努力解决我目前遇到的一个问题

我有一个视图,一个指令和一个使用templateurl调用的指令模板

我的模板在指令中运行良好,我可以在视图中看到它;然而,有些函数不起作用

例如,我的指令调用的模板有一个ng show=“toShow()”,这不起作用。toShow(inDate,outDate)是我指令中的一个函数,它根据传递给它的数据返回false或true

它如何使我的指令模板以与在视图中创建的临时模板相同的方式工作

多谢各位

编辑:


//指示

app.directive('rcSelection', function ($document, $window, $filter) {
    return {
        scope: {
            sDate: '=',
            eDate: '=',
            periodType: '=',            
        },
        link: function (scope, element, attrs) {}
            scope.$watch('sDate', function (sDate) {
                scope.$watch('eDate', function (eDate) {
                    scope.$watch('periodType', function (periodType) {

                        if (angular.isUndefined(sDate)) {
                        } else {
                            dateRangesVisulization(sDate, eDate, periodType, element, scope);                           
                            element.bind('click', function (event) {
                                toggleDateRange(element, sDate, eDate)
                                methodTest(scope)
                            });
                        }

                    },true);
                }, true);
            }, true);
            }

        },

        templateUrl:'partials/pathToTemplate.html'
    };

    function toShow(){
    return true or false;
    }


    ----------


    /*Template*/
    <span id="selection"
          style="width:{{selWidth}}px;margin-left:{{marginLeft}}px;position:absolute;padding:0;background-color: {{color}}">
        <span class="dateContent">{{initialDate}}</span>
        <span  ng-show="toShow(sDate,eDate)" class="dateContentBottom">{{endDate}}</span>
    </span>
app.directive('rcSelection',函数($document、$window、$filter){
返回{
范围:{
sDate:“=”,
eDate:“=”,
periodType:“=”,
},
链接:函数(作用域、元素、属性){}
范围:$watch('sDate',函数(sDate){
范围:$watch('eDate',函数(eDate){
范围$watch('periodType',函数(periodType){
如果(角度未定义(sDate)){
}否则{
日期范围可视化(sDate、eDate、周期类型、元素、范围);
元素绑定('click',函数(事件){
toggleDateRange(元素、sDate、eDate)
方法测试(范围)
});
}
},对);
},对);
},对);
}
},
templateUrl:'partials/pathToTemplate.html'
};
函数toShow(){
返回真或假;
}
----------
/*模板*/
{{initialDate}}
{{endDate}}

你能上传代码吗?JSFIDLE会更好。有很多代码要上传,不幸的是,由于view指令模板的工作方式,我无法在这里上传代码的工作版本。我将尝试设置一些东西,看看它是否工作。你在direct中声明toShow函数的位置ive?它应该在关联控制器的范围内。在我的指令中,我有templateUrl:“parthtoTemplate”pathtoTemplate中有一个带有ng show的div。视图调用指令,然后返回模板,但该指令不起作用。在模板中,我是否也必须定义控制器?模板不是自动分配给调用该指令的视图的控制器吗?我的函数也在指令中,它也在指令中tter是否涉及控制器?如果没有代码,我们帮不上什么忙-我的最佳猜测是函数toShow没有附加到scope,即函数应该是指令中的
scope.toShow=function…
app.directive('rcSelection', function ($document, $window, $filter) {
    return {
        scope: {
            sDate: '=',
            eDate: '=',
            periodType: '=',            
        },
        link: function (scope, element, attrs) {}
            scope.$watch('sDate', function (sDate) {
                scope.$watch('eDate', function (eDate) {
                    scope.$watch('periodType', function (periodType) {

                        if (angular.isUndefined(sDate)) {
                        } else {
                            dateRangesVisulization(sDate, eDate, periodType, element, scope);                           
                            element.bind('click', function (event) {
                                toggleDateRange(element, sDate, eDate)
                                methodTest(scope)
                            });
                        }

                    },true);
                }, true);
            }, true);
            }

        },

        templateUrl:'partials/pathToTemplate.html'
    };

    function toShow(){
    return true or false;
    }


    ----------


    /*Template*/
    <span id="selection"
          style="width:{{selWidth}}px;margin-left:{{marginLeft}}px;position:absolute;padding:0;background-color: {{color}}">
        <span class="dateContent">{{initialDate}}</span>
        <span  ng-show="toShow(sDate,eDate)" class="dateContentBottom">{{endDate}}</span>
    </span>