2014-09-26 43 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') 
     }; 
    }); 
相關問題