我是angularJs的新手,我有javascript包含加载小程序。 那是在javascript中工作,但是当我在angularJs中放入相同的代码时,那不是编译,我的脚本没有执行,因为我写了一个自定义指令,但是这给出了错误 SyntaxError:missing:after property id
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/>
请问我是做得对还是做错了。 感谢。
答案 0 :(得分: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 :(得分:-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')
};
});