首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么js不能找到自定义控制器

为什么js不能找到自定义控制器
EN

Stack Overflow用户
提问于 2018-08-16 10:14:05
回答 2查看 95关注 0票数 0

我在一个单独的文件中创建了一个定制的angularjs控制器,调用者也在一个单独的文件中。但是,由于某种原因,棱镜给出的误差控制器是没有定义的。以下是文件:

test_ctrl.js:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function test_ctrl($scope, $rootScope, apiSrvc, $mdDialog) {

    $scope.hide = function() {$mdDialog.hide();};
    $scope.cancel = function() {$mdDialog.cancel();};

  }

index.html:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<button id="testbutton" ng-click="openModal($event)">open modal</button>

index.js:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Open the Modal // 
  $scope.openModal = function(ev) { 
    $mdDialog.show({
      controller: test_ctrl,  
      templateUrl: '/views/testview/testmodal.html',
      parent: angular.element($('.some_parent_class')),
      targetEvent: ev,
      clickOutsideToClose:true,
      locals: {},
      onRemoving: function (event, removePromise) {
      }
    });
  };
  //*/ 
});

testmodal.html:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<md-dialog>
    <md-dialog-content>
        testing content
    </md-dialog-content>
    <md-dialog-actions layout="row">
        <md-button ng-click="cancel()">Close</md-button>
    </md-dialog-actions>
</md-dialog>

为了总结这个过程,index.html中的按钮应该打开一个角模态对话框。因此,对于index.html中的按钮,我包括了"ng-click="openModal($event)“来触发角事件来打开角模态。我不知道我遗漏了什么或做错了什么,但是在控制台中,当单击按钮时,"test_ctrl”不是在角.“错误中定义的。我做错了什么?

编辑 Ok的另一种方法是将控制器定义函数包含在与index.js相同的文件中,但我非常希望在openModal参数中包括外部控制器文件的位置,就像您可以使用模态模板位置一样(templateUrl:‘/view/testview/testmodal.html’)。是否有控制器文件位置的参数?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-16 10:36:17

我将控制器放在外部文件中,并让openModal角方法调用它。是否有方法定义控制器文件在openModal参数中的位置?

将控制器定义为模块的一部分:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
angular.module("test",[])
.controller("test_ctrl",
  function test_ctrl($scope, $rootScope, apiSrvc, $mdDialog) {
    $scope.hide = function() {$mdDialog.hide();};
    $scope.cancel = function() {$mdDialog.cancel();};
})

在主模块中,将其声明为依赖项:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
angular.module("app",['test'])

在该模型中,使用字符串调用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  $scope.openModal = function(ev) { 
    $mdDialog.show({
      controller: ̶t̶e̶s̶t̶_̶c̶t̶r̶l̶,̶ "test_ctrl",  
      templateUrl: '/views/testview/testmodal.html',
      parent: angular.element($('.some_parent_class')),
      targetEvent: ev,
      clickOutsideToClose:true,
      locals: {},
      onRemoving: function (event, removePromise) {
      }
    });
  };

有关更多信息,请参阅AngularJS开发人员指南-模块

当将其定义为模块的一部分时,我可以将代码放在外部文件中,对吗?没有显式告诉角在哪里,或将它包含在脚本标记中,对吗?

包含模块的文件可以按任何顺序加载(在angular.js之后)。当框架找到ng-app指令并构建应用程序时,依赖项就会被整理出来。

有关更多信息,请参阅约翰帕帕AngularJS风格指南-模块

票数 1
EN

Stack Overflow用户

发布于 2018-08-16 10:19:12

在加载index.js之前,需要定义控制器函数定义,因此在index.html中,您需要在index.js之前加载test_ctrl.js

一个更干净的替代方法是在index.js中导入控制器函数。

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

https://stackoverflow.com/questions/51883083

复制
相关文章
记录Android Killer反编译时遇到的异常
由于本地ShakaApkTool版本太低,需要更新一下,另外这里需要注意,需要下载ShakaApktool.jar。
贺biubiu
2019/06/11
2.9K0
插入记录时单引号的处理
由于Content, Title中可能包含单引号,直接使用sql的insert命令会报错,对此有两种处理方法,一种将单引号替换成两个单引号,第2种方法是使用存储过程。
Java架构师必看
2021/03/22
1.1K0
记录使用mongoDB时遇到的有趣问题
最近在开发金融类的k线、盘口业务,而这些业务的海量数据如何存储,公司的技术选型,选择了MongoDB。
Blue_007
2023/10/21
2210
记录使用mongoDB时遇到的有趣问题
在日志中记录Java异常信息的正确姿势
今天遇到一个线上的BUG,在执行表单提交时失败,但是从程序日志中看不到任何异常信息。 在Review源代码时发现,当catch到异常时只是输出了e.getMessage(),如下所示:
编程随笔
2019/06/27
2.6K0
在日志中记录Java异常信息的正确姿势
django开发时遇到问题的正确求助姿势
自 django博客教程发布以来,已有超过上万名读者学习了该教程。一些学习者跟随教程顺利地完成了个人博客的搭建,但一直以来也不断地收到读者的评论留言、QQ 留言、邮件等求助信息,他们被开发中的一些问题卡主了,并且不知道该如何解决。随着教程阅读者越来越多,我收到的求助信息也越来越多。一个人的力量始终是有限的,我个人也难以回答所有求助者的问题。为此,我想向大家介绍一些当初我学习 django 时遇到问题如何有效求助的一些经验,一些更容易得到解决方案的求助渠道,以及一些可供查阅的 django 资料等。 求助首选
追梦人物
2018/04/17
9750
记录替换django的user模型出现的异常InconsistentMigrationHistory
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied befo re its dependency users.0001_initial on database 'default'. 报错场景:   自定义user信息表,继承django默认生成的user表,然后进行数据更新的时候,发生报错。 解决方案:   删除数据库,新建一个跟原来一样名字的数据库,就解决
玩蛇的胖纸
2018/06/08
6020
Vue computed 声明类型时踩坑记录
computed 类型声明需要用泛型 错误写法 const a: Xx[] = computed(()=>{}) 正确写法 const a = computed<Xx[]>(()=>{}) 直接使用时需要加上 .value 例如 a.value HTML 中可直接使用 :xx="a"
Leophen
2020/12/22
2.1K0
用python记录运行pid,并在需要时
  我在跑爬虫程序的时候,由于爬虫程序的等待目标服务器返回数据的时间很长,而cpu占用很低,所以经常挂着代理一跑就跑好几百个。但是爬虫程序通常是写了死循环,或直到分配给该进程的任务都跑完才退出的。如果我们想中途结束掉这些任务,是没办法手工一个一个kill掉的。那么该如何结束这些进程呢?
py3study
2020/01/08
9410
初次尝试使用VisualSFM记录
对于SFM一直觉得高大上又神秘,一年前粗略的了解过一下,今年有时间尝试深入了解SFM,对于初学者来说,VisualSFM真的时非常好的感受SFM的免费软件,于是通过其他博客的指导(没去看官方的英文版,容易犯困),做了一个3D模型出来,感觉还挺好玩,记录一下。
全栈程序员站长
2022/08/31
1.2K0
初次尝试使用VisualSFM记录
Django学习记录
创建:app01 执行 python manage.py startapp app01 在setting中奖app01应用加入INSTALL_APPS选项中
懿曲折扇情
2022/08/24
3810
一个关于List的IndexOutOfBoundsException异常记录
下面的代码是一个关于List的经典问题,平常工作中,我们对空指针会比较警惕,稍不留意可能就会写出来下面的问题代码。
翎野君
2023/05/12
2160
首页SQLPHP向MySQL插入记录时乱码问题
Navicat for MySql 新建数据库时编码格式设置成:utf8 -- UTF-8 Unicode 排序规则:utf8_general_ci。个人建议,为了避免不必要的麻烦,凡是涉及编码格式的开发工具,安装后第一时间设置成utf8。
cherishspring
2019/10/30
1.2K0
记录一次在docker构建镜像时的错误
具体错误是在Dockerfile文件执行到第三步时候出的错,此时你去问度娘,大多数都会告诉你Dockerfile的路径不能是**../父类目录,需要放在上一层之类的**,这样做虽然也可以避免错误,能正常执行。
晓果冻
2022/09/08
1.4K0
记录一次在docker构建镜像时的错误
初次尝试Linux并记录一二
若出现 服务器拒绝了SETP连接,但它监听FTP链接。。。没有安装sshd 解决方案
易墨
2018/09/14
8690
初次尝试Linux并记录一二
当AI泡沫破裂时……
很显然我们目前处于一个不稳定的状态。这到底是一场泡沫还是一次革命?答案是当然包含一点革命——深度神经架构所创造的实实在在的成功已经颠覆了视觉和语音识别领域,更通用的机器学习也已经有了大量真实世界用例。
机器之心
2018/07/26
3760
CoreDNS解析异常记录
异常情况: 集群是用kubespray部署的4个worknode,coredns默认部署2个deployment。今天发现部署了coredns的node上的pod正常解析内部域名,而另外2个未运行coredns的node却无法解析。 配置文件: image.png 下图中我们看到coredns2个pod分别在node1与node2上,只要分配到这2节点上的deployment都可以正常解析。 image.png 其他节点无法解析: image.png 处理过程: 正常来说所有的pod都是通过co
院长技术
2021/02/19
1.2K0
CoreDNS解析异常记录
Laravel Validator 更新时验证记录唯一的小技巧
这样在新增的时候是没什么问题的,但是在更新的时候就出现了一个问题,就是当我们的title没有发生改变的时候,我们使用unique的时候,会将原来的记录行进行扫描,这样就会提示我们该标题已经存在。
魔王卷子
2019/05/30
1.6K0
点击加载更多

相似问题

谷歌硬盘V3 Rest应用程序接口通过硬盘应用程序播放视频

11

iOS混合应用-谷歌地图应用程序接口错误: RefererNotAllowedMapError

292

谷歌日历应用程序接口在iPhone应用程序中!

10

我可以从iOS应用程序上传文件到谷歌硬盘吗?

30

OpenSocial应用程序接口在谷歌日历小工具中停止工作

18
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文