首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ng-单击加载API

如何使用ng-单击加载API
EN

Stack Overflow用户
提问于 2015-08-06 21:34:33
回答 2查看 459关注 0票数 0

我是个刚学天使的人。我还利用ResponsiveVoice.JS作为应用程序的语音组件。我的问题是,如果我使用ng点击,声音不工作。如果我使用onClick,它就能工作。我如何使用这个API与ng-点击?

我需要它的ng点击,因为我需要传递语音文本作为参数从我的routeParams在控制器。

这里是点击时播放画外音的图像.

<img src="images/audio.png" onclick='responsiveVoice.speak("Text spoken.", "UK English Male")' class="pull-right"/>

这里是指向我在head部分中加载到index.html中的api的链接。

<script src='http://code.responsivevoice.org/responsivevoice.js'></script>

我想要的是像这样的

<img src="images/audio.png" ng-click='responsiveVoice.speak({{ parameter from controller }}, "UK English Male")' class="pull-right"/>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-06 21:44:07

responsivevoice是一个全局对象,但ng-click只识别通过角度范围可用的方法或表达式。

但是,可以从页面中的任何javascript访问全局对象。

因此,最简单的方法是创建引用全局对象的scope对象:

代码语言:javascript
复制
$scope.responsiveVoice = responsiveVoice;

现在可以在视图中使用responsiveVoice

若要使用范围中的参数,请创建稍微不同的版本。

代码语言:javascript
复制
$scope.speak = function( item){
   // i have no idea what objects are used...assuming it has property `text`
   responsiveVoice.speak(item.text,  "UK English Male");
}

那么html将是

代码语言:javascript
复制
<img src="images/audio.png" ng-click="speak( scopeObject)">
票数 2
EN

Stack Overflow用户

发布于 2015-08-06 21:45:46

尝尝这个

代码语言:javascript
复制
<img src="images/audio.png" ng-click='responsiveVoice.speak("{{ parameter from controller }}", "UK English Male")' class="pull-right"/>

您可能已经从控制器传递了一个字符串。它使您的函数调用为

代码语言:javascript
复制
responsiveVoice.speak(param, "lang")

这将中断函数调用,因为函数需要一个字符串参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31866194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档