2014-09-26 64 views
-1

我是新的angularJs,我有JavaScript,其中包含加载小程序。 这是在javascript中工作,但是当我在angularJs中放入相同的代码,那是不编译,我的脚本没有执行,因为我写了一个自定义指令,但这是给错误SyntaxError:丢失:属性ID后SyntaxError:missing:属性id在angularJs后

Java脚本:

<div id="appletbox" class="photobox"> 
    <script src="https://www.java.com/js/deployJava.js"></script> 
    <script> 
     var attributes = { 
      id: "fingerCaptureApplet", 
      width: 140, 
      height: 140 
     }; 
     var parameters = { 
      jnlp_href: "fca/finger-capture-applet.jnlp" 
     }; 
     deployJava.runApplet(attributes, parameters, '1.7'); 
    </script> 
</div> 

自定义指令代码:

angular.module('some', ['ngRoute']) 
.directive('fingerScanner', function() { 
     return { 
      var attributes = { 
       id: "fingerCaptureApplet", 
       width: 140, 
       height: 140 
      }; 
      var parameters = { 
       jnlp_href: "fca/finger-capture-applet.jnlp" 
      }; 
      deployJava.runApplet(attributes, parameters, '1.7'); 
     }; 
    }); 

使用指令是象下面这样:

<div finger-scanner/> 

请我是否做对了方式或 哪里不对了。 谢谢。

enter image description here

回答

0

你返回一个对象。但是,似乎您只是试图运行deployJava代码。

要做到这一点,place your desired function in a link property

替换:

return { 
    var attributes = { 
     id: "fingerCaptureApplet", 
     width: 140, 
     height: 140 
    }; 
    var parameters = { 
     jnlp_href: "fca/finger-capture-applet.jnlp" 
    }; 
    deployJava.runApplet(attributes, parameters, '1.7'); 
}; 

有了:

return { 
    link: function(){ 
     var attributes = { 
      id: "fingerCaptureApplet", 
      width: 140, 
      height: 140 
     }; 
     var parameters = { 
      jnlp_href: "fca/finger-capture-applet.jnlp" 
     }; 
     deployJava.runApplet(attributes, parameters, '1.7'); 
    } 
}; 
-1

我相信你的回报是在自定义指令不正确。你正在返回一个对象,但像正常的变量和函数一样格式化属性和方法。请记住,对于对象,所有属性都是键值对(无论该值是另一个对象,函数,变量等)。尝试重新格式化您的对象,如下所示:

angular.module('some', ['ngRoute']) 
    .directive('fingerScanner', function() { 
     return { 
      attributes: { 
       id: "fingerCaptureApplet", 
       width: 140, 
       height: 140 
      }, 
      parameters: { 
       jnlp_href: "fca/finger-capture-applet.jnlp" 
      }, 
      appletResults: deployJava.runApplet(this.attributes, this.parameters, '1.7') 
     }; 
    });