Questions tagged «angularjs-controller»

15
AngularJS:如何在控制器之间传递变量?
我有两个Angular控制器: function Ctrl1($scope) { $scope.prop1 = "First"; } function Ctrl2($scope) { $scope.prop2 = "Second"; $scope.both = Ctrl1.prop1 + $scope.prop2; //This is what I would like to do ideally } 我无法使用Ctrl1内部,Ctrl2因为它是未定义的。但是,如果我尝试像这样传递它… function Ctrl2($scope, Ctrl1) { $scope.prop2 = "Second"; $scope.both = Ctrl1.prop1 + $scope.prop2; //This is what I would like to do …


10
AngularJS控制器可以从同一模块中的另一个控制器继承吗?
在模块内,控制器可以从外部控制器继承属性: var app = angular.module('angularjs-starter', []); var ParentCtrl = function ($scope, $location) { }; app.controller('ChildCtrl', function($scope, $injector) { $injector.invoke(ParentCtrl, this, {$scope: $scope}); }); 通过以下示例进行操作:无效链接:http : //blog.omkarpatil.com/2013/02/controller-inheritance-in-angularjs.html 模块内部的控制器也可以从同级继承吗? var app = angular.module('angularjs-starter', []); app.controller('ParentCtrl ', function($scope) { //I'm the sibling, but want to act as parent }); app.controller('ChildCtrl', function($scope, $injector) { …

10
AngularJS:绑定到服务属性的正确方法
我正在寻找有关如何绑定到AngularJS中的服务属性的最佳实践。 我已经研究了多个示例,以了解如何绑定到使用AngularJS创建的服务中的属性。 下面有两个关于如何绑定到服务中的属性的示例。他们都工作。第一个示例使用基本绑定,第二个示例使用$ scope。$ watch绑定到服务属性 当绑定到服务中的属性时,这些示例是首选还是建议使用其他我不知道的选项? 这些示例的前提是服务应每5秒更新其属性“ lastUpdated”和“ calls”。服务属性更新后,视图应反映这些更改。这两个示例均成功运行;我想知道是否有更好的方法。 基本绑定 可以在下面的代码中查看和运行以下代码:http : //plnkr.co/edit/d3c16z <html> <body ng-app="ServiceNotification" > <div ng-controller="TimerCtrl1" style="border-style:dotted"> TimerCtrl1 <br/> Last Updated: {{timerData.lastUpdated}}<br/> Last Updated: {{timerData.calls}}<br/> </div> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.js"></script> <script type="text/javascript"> var app = angular.module("ServiceNotification", []); function TimerCtrl1($scope, Timer) { $scope.timerData = Timer.data; }; app.factory("Timer", function ($timeout) { …

5
在AngularJS中更新父范围变量
我有两个控制器,一个封装在另一个中。现在,我知道子范围从父范围继承属性,但是有没有办法更新父范围变量?到目前为止,我还没有遇到任何明显的解决方案。 在我的情况下,我在表单中有一个日历控制器。我想从父范围(即表单)更新开始日期和结束日期,以便表单在提交时具有开始日期和结束日期。

7
如何将一个控制器注入到AngularJS中的另一个控制器中
我是Angular的新手,正在尝试弄清楚该怎么做... 使用AngularJS,我如何注入要在另一个控制器中使用的控制器? 我有以下片段: var app = angular.module("testApp", ['']); app.controller('TestCtrl1', ['$scope', function ($scope) { $scope.myMethod = function () { console.log("TestCtrl1 - myMethod"); } }]); app.controller('TestCtrl2', ['$scope', 'TestCtrl1', function ($scope, TestCtrl1) { TestCtrl1.myMethod(); }]); 执行此操作时,出现错误: Error: [$injector:unpr] Unknown provider: TestCtrl1Provider <- TestCtrl1 http://errors.angularjs.org/1.2.21/$injector/unpr?p0=TestCtrl1Provider%20%3C-%20TestCtrl1 我是否应该甚至尝试在另一个控制器中使用一个控制器,还是应该将此服务用作服务?

3
在控制器内部使用$ setValidity
我正在尝试对文件更改进行一些验证。这是我的代码: 视图/模板 <input type="file" name="file" id="file" onchange="angular.element(this).scope().setFile(this)" required /> <span class="error" ng-show="myForm.file.$error.required">Error</span> <span class="error" ng-show="myForm.file.$error.size">Selected file is too large</span> <span class="error" ng-show="myForm.file.$error.filetype">Unsupported File type</span> 控制者 angular.module("myapp").controller("myctrl", function($scope) { $scope.setFile = function(element) { $scope.$apply(function($scope) { var fileObject = element.files[0]; $scope.file.fileType = fileObject.type.toUpperCase().substring(fileObject.type.indexOf("/") + 1); // Validation if (!$scope.isValidFileType($scope.file.fileType)) { myForm.file.$setValidity("myForm.file.$error.filetype", false); …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.