Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将jQuery插件转换为AngularJS指令-如何应用if/else?_Javascript_Jquery_Angularjs - Fatal编程技术网

Javascript 将jQuery插件转换为AngularJS指令-如何应用if/else?

Javascript 将jQuery插件转换为AngularJS指令-如何应用if/else?,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我试图将jQuery的这一部分转换为AngularJS指令 我将其填充到一个HTML属性中,使其看起来像这样 content-panel="{ center__paneSelector: '#centerpanel', west__size:'200', west__paneSelector: '#westpanel', west__resizable: 'true'

我试图将jQuery的这一部分转换为AngularJS指令

我将其填充到一个HTML属性中,使其看起来像这样

content-panel="{
               center__paneSelector: '#centerpanel',
               west__size:'200',
               west__paneSelector: '#westpanel',
               west__resizable: 'true'
              }"
angular中的指令如下所示

 app.directive("contentPanel", function() {
     return function(scope, element, attrs) {
        jQuery(element).layout(scope.$eval(attrs.contentPanel));
    }; 
 });
但是,正如我们在本文的第一部分中所看到的,jQuery也有一个if/else语句,我如何插入HTML位,或者我必须自己在指令中执行它?如果是,我怎么做


提前谢谢

如果
bpOrgEditor
是全局的,并且在使用该指令时,
center\uu onresize
选项将始终设置为该功能,您可以尝试:

app.directive("contentPanel", function() {
    return function(scope, element, attrs) {
       var opts = scope.$eval(attrs.contentPanel);
       opts.center__onresize = function () {
           if (bpOrgEditor != null) {
               jQuery(opts.center__paneSelector).bpOrgEditor("update");
           }
       }
       jQuery(element).layout(opts);
   }; 
});

您可以在
内容面板=“…”
,而不是
'200'
'true'

中编写
200
true
,您可以发布Fiddle/Plunker吗?谢谢,这样做了:)
app.directive("contentPanel", function() {
    return function(scope, element, attrs) {
       var opts = scope.$eval(attrs.contentPanel);
       opts.center__onresize = function () {
           if (bpOrgEditor != null) {
               jQuery(opts.center__paneSelector).bpOrgEditor("update");
           }
       }
       jQuery(element).layout(opts);
   }; 
});