当前位置: 首页 > 面试题库 >

如何在AngularJS ng-click(或ng-change,…)中调用服务函数?

赵征
2023-03-14
问题内容

当调用这样的函数时:

HTML:

<select ng-model="var" ng-change="myFunction(var)">
  <option ng-repeat="option in alloptions">{{option}}</option>
</select>

JS:

$scope.myFunction = function(){//do things}

一切正常,但是当我的功能在服务中(控制器可以访问)时,不会调用该功能。通过将服务名称作为前缀来调用它也不是一个选择(即使这在javascript代码本身中也有效)myService.myFunction(var)

所以我的问题是:当位于服务中的ng-change中调用服务时,正确的方法是什么?

提前致谢


问题答案:

您需要使用通过作用域的函数来调用服务函数。因此,在您的示例中,只要将服务注入到控制器中,就可以在范围的myfunction方法内调用service方法。

$scope.myFunction = function(var){

   myService.myFunction(var);    
}

始终记住,UI中只有$ scope中定义的属性可用,而服务则不可用。



 类似资料:
  • 问题内容: 什么时候应该使用角度函数,什么时候应该使用angularjs指令?对我来说,他们都可以做同样的事情。 两者之间是否有差异或使用方式? 问题答案: 显然,它们并不相同。一种仅在控制器中使用;另一种仅用于控制器。另一个是对输入元素的指令。 但是即使在它们的应用中,它们也有所不同。 使用监视的表达式时,将在每个摘要循环上对其进行评估,如果有更改,则将调用处理程序。 使用,响应事件,显式调用处

  • 问题内容: 我需要能够调用一个函数,以便运行代码以动态检索图像的来源。以下代码片段显示了我想要的示例: 我敢肯定这很简单,但是我在ng- src文档中 什么都找不到!还有其他人打过这个吗? 提前致谢! 指令(基于答案的示例) 其他人建议使用指令。我无法发布客户端代码,所以我写了一个简短的示例,说明了在plunker中的外观(请参见此处)。核心指令本身是: 我知道我有什么做为一个例子,很可能只是用在

  • 问题内容: 表: 有了答案,我在这里得到了利用$ compile的这种方式 现在,当单击按钮时,我什至调用一个模态,并命令对象使用ng-model 感谢您的帮助,它运作良好。 问题答案: 编辑 :添加了用于演示 $ compile 用法的代码段 在html中,只有一个用于初始化应用程序的标签和一个用于初始化控制器的div。 在controller中,两个链接被创建为简单字符串,但分别具有两个,然后

  • 问题内容: 我正在尝试根据模型动态生成表单输入和关联的操作菜单。我能够传递要使用的字段和菜单,但无法弄清楚如何配置ng- click来调用模型中定义的适当函数。看到小提琴:http : //jsfiddle.net/ahonaker/nkuDW/ HTML: JS: 任何帮助,将不胜感激。我在指令中尝试了以下ng-click方法 我究竟做错了什么?还是有更好的方法来做到这一点(包含要调用的功能的菜

  • 问题内容: 适用于1.3.4版。在以下代码段中,ng-change事件不起作用。 依赖项:Bootstrap版本3.3.0 以下代码适用于1.2.27版 javascript html 以下是plunkr(用于简单版本):http ://plnkr.co/edit/yU9unxI8F6u2ToQzlUV2 问题答案: 在处理Angular时,您不应依赖Bootstrap javascript。Bo

  • 我在学习Java剧本MOOC的第一天。 我们正在查看简单的jQuery示例。 有件事我不明白。 像这样的表达式返回元素中的文本。例如,如果对应的html是,则 计算为字符串“hello world”。我希望到目前为止我明白了这一点。而 将文本设置为 ,以便下一次调用 时返回 。 并且,表达式将click函数设置为返回的函数。然而,课程的主讲人没有解释地声称调用click函数并返回。我希望返回一个函