在某些情况下,angular指令不显示

时间:2016-04-05 03:59:42

标签: angularjs angularjs-directive

感谢您对这个问题的关注。

我是 #include <opencv2/objdetect/objdetect.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <iostream> #include <stdio.h> using namespace std; using namespace cv; CascadeClassifier facecascade; int main() { Mat frame; facecascade.load("haarcascade_frontalface_alt.xml"); if(facecascade.empty()) { cout<<"Error"; } VideoCapture cap(0); int i=0,j=0,k=0; while(1) { cap>>frame; Mat frame_gray; cvtColor(frame,frame_gray,CV_BGR2GRAY); vector<Rect>faces; facecascade.detectMultiScale(frame_gray,faces,1.1,2,0|CV_HAAR_SCALE_IMAGE,Size(70,70)); if(faces.size()>0) { for(i=0;i<faces.size();i++) { rectangle(frame_gray,faces[i],Scalar(200,200,250),2,8,0); } char no[5]; sprintf(no,"No. of faces detected = %d",int(faces.size())); putText(frame_gray,no,Point(10,30),FONT_HERSHEY_TRIPLEX,1,Scalar(255,255,255),1); imshow("out",frame_gray); char c= waitKey(5); if(c=='b') break; } return 0; } 中的新手,我在使用angularjs时遇到了一些问题。这是我的问题。

我有这样的指示:

angularjs directive

我像这样使用这个指令:

app.directive('dbmodeSelector', function() {
var tpl = ' <select class="atonFormSelect" ng-model="dbmode" ng-options="m for m in dbmodeList" ng-change="changeDbmode()" required> \
                    </select>';
return {
    transclude : true,
    restrict : 'E',
    scope : {
        dbmode : '=',
        dbmodeList : '=',
        changeAction : '&'
    },
    template : tpl,
    link : function(scope, elem, attrs) {
        scope.changeDbmode = function() {
            var func = scope.changeAction();
            if(func) {
                func(scope.dbmode);
            }
        }
    }
}});

在某些情况下,正确显示,当我在chrome开发人员工具中查看这些案例时,此指令的代码如下所示:

correctly show case

在其他情况下无法正确显示,Chrome开发人员工具会显示如下代码:

not correctly show case

它们之间的区别在于,在正确的情况下,<dbmode-selector dbmode="dbmode" dbmode-list="dbmodeList"></dbmode-selector> 使用模板作为其子元素;在错误的情况下,dbmode-selector中没有子元素。

问题:

为什么会出现这种差异?差异是否会影响此dbmode-selector的可见性。

0 个答案:

没有答案