问题标签 [angular-controller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - Directive、Link Function、Array、DataBinding 事物的顺序不明确
我有一个非常具有挑战性的问题,我什至不知道如何定义,所以我将举一个例子,希望你能解释我做错了什么。我的 HTML 是:
该selectedChecks
数组是这样定义控制器$scope.selectedChecks = {}
的:标记的结果是一列复选框这是我的指令代码:
问题是,当第一个复选框被选中时,警报将输出:“true undefined”形成从现在开始对任何复选框的第二次选中/取消选中,并且拥有输出将是:“true false”和“false true”
我的期望是这两个变量将是相同的,因为它们应该指向相同的值,因为:
scope.bindModel
被发送到指令selectedChecks[$index]
并且scope.selectedChecks[i]
应该是相同的。请帮助我了解我在这里做错了什么。似乎checkIt
函数在 Angular 在复选框和数组之间进行数据绑定之前运行。
angularjs - 要检测 AngularJS 中的点击,我应该使用指令还是控制器?
我想跟踪一个a
,button
和input[type="submit"]
使用附加到 body 标签的控制器对我来说很有意义。我需要跟踪每次点击以及每个日期和时间戳。我已经准备好 API,但我不知道如何收听点击。
我认为控制器是一个很好的方法,但我读过的一些东西是使用指令。基本上将body标签变成指令。
这对我来说真的没有意义,但我是新手。
而且,无论哪种情况,我如何检测点击?我正在尝试使用下面的指令,但它没有触发。说找不到domElement
这是我的指示。如果我这样做,我不需要控制器将点击写入我的 API 吗?
javascript - 使用控制器调用服务时获得两次结果
我正在构建一个简单的控制器,其中还包括一个服务。该服务返回一个 json。现在,我的问题是,当我通过控制器调用请求函数并打印出结果时,我得到所有对象两次。
所以这是我现在的代码:
json: http: //pastebin.com/dTcNDQeA
我想,问题一定出在 .success 附近,但我不知道具体原因。
我的解决方案:最后,当我在控制器中的服务调用周围包装一个函数时,它对我来说很好。还在想,为什么。
javascript - AngularJs:未捕获的 ReferenceError:$scope 未在调试器模式下定义
我有以下代码:
html
AngularJs
在这种情况下,没有问题。但是,如果您更改此行:
$scope.message = $scope.newMessage;
和:
debugger;
然后单击按钮,在控制台打开时,写入$scope
,您将收到此错误:
Uncaught ReferenceError: $scope is not defined
所以我的问题是:
- 为什么在
$scope
使用$scope
函数内部时可以访问,而在调试模式下无法访问(当您不使用$scope
函数中的某处时) - 在这种情况下如何使用
$http
,因为$http
也无法访问
注意:也许这是重复的问题,但我没有找到这个问题的直接解释,以及解决方案
javascript - 将 controller 和 controllerAs 设置为相同的字符串
假设您有一个 AngularJS 指令,您希望在其中将控制器属性和controllerAs属性设置为相同的字符串。
前任。
以上是有效的并且有效,但是当将控制器和控制器的值设置为相同的东西时感觉是多余的。有没有办法在一个属性中做到这一点?喜欢:
提前致谢!
angularjs - 在带有 Angular UI 路由器的控制器中使用 $scope 和“this”
关于$scope
和this
使用 ui-router 时,
如果我使用controllerAs
语法,即:
然后在我的控制器中,我使用this
而不是$scope
. 所以我的登录控制器中有这样的代码:
但我也$scope
用来收听来自 my 的全球广播事件$rootScope
,因为如果我没记错的话,即使它们正在互换,this
也没有属于 的方法。$scope
所以我正在收听一个事件广播$rootScope
并调用其他一些控制器逻辑,例如func2
,当这个事件被广播时:
如果我想func2
在处理程序内部调用$on
怎么办?我应该做一些约定,在我的控制器中初始化这样的东西吗?
我只是对最好的进行方式以及这里的一般约定感到好奇。$scope
两者都使用和是否合适,两者this
之间的主要区别是什么,因为它们可以互换?
angularjs - 将方法从指令传递到工厂
我正在尝试通过指令将控制器中定义的方法传递给工厂。我似乎无法完全理解范围界定或做到这一点的最佳方式。
HTML:
JavaScript:
javascript - Angularjs - 控制器多次调用init()函数
我在制作 angularjs 应用程序时遇到问题。我创建了一个控制器并将其绑定在 routeProvider 中。使用这样的函数来初始化控制器的值。
像这样的 login.html
当我运行该应用程序时,它会像这样调用 init() 3 次。 登录
在这个 stackoverflow 中发现很多人也遇到了这个问题。所有这些都通过确保控制器不绑定一次以上(在 routProvider 和模板中)来解决,并检查模板中只有一个 ng-app。我的主要html是这样的。
对于我这样的主要应用程序。
这个控制器没问题,我只是想初始化一个文本,但是在一些需要向服务器端发出 AJAX 请求的控制器中初始化是不行的,可能会发出太多需要注意的请求。任何人都可以解决这个问题,请帮助我。谢谢。
PS1。我的实践基于 angular-seed https://github.com/angular/angular-seed
PS2。起初,我还使用了 jquery,它显示警告:尝试多次加载 angular。一旦我删除 jquery,它就不再显示警告,但它并没有解决我的问题
angularjs - 在 Angular 中显示来自 json 文件的数据
这个问题已经在另一个帖子上得到了回答。请参阅此处:在 Angular 应用程序中显示 json 数据
javascript - 尝试注入对 Angular 控制器的依赖项时出现未知提供程序错误
我正在尝试通过以下方式在我的 userMenuController 中注入“modal”指令:
这是modals.js:
在 app.js 上,app 的定义如下:
但我不断收到此错误:
我错过了什么?