SyntaxError:missing:在angularJs中的属性id之后

时间:2014-09-26 13:07:39

标签: javascript angularjs

我是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/>

请问我是做得对还是做错了。 感谢。

enter image description here

2 个答案:

答案 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')
        };
    });