草庐IT

angularjs-controller

全部标签

javascript - AngularJs - 如何在导航到新路线时清理 Controller

我有一个Controller,它通过一个可观察对象加载大量数据。如果我离开该路线并且View从页面中删除,我如何在我的Controller中得到通知,以便我可以停止Controller中的数据加载?我基本上想要一个在不再需要Controller时触发的停用功能或清理功能。 最佳答案 您可以监听$destroy事件,并执行一些清理/拆卸操作:module.controller("SomeController",function($scope){$scope.$on("$destroy",function(){//cleanuphere

javascript - angular 的 Controller 方法如何使 $scope 可用于我的函数参数

我正在寻找伪代码答案,或概念性答案。经过多年的编程,我从未创建过接收函数参数的类方法,这样方法的调用者就可以自动访问“不可见”的属性。如果我尝试在我的my_app.controller(...)方法之外访问$scope,我会得到一个错误,所以我知道它不是全局的;如果我尝试从my_app.$scope或angular.$scope访问它,我会得到undefined。那么我的函数参数如何访问它:my_app.controller('my_controller',function($scope,...){...}更新(我正在学习)://javascriptvarmy_class=functi

javascript - AngularJS - 哪个范围在性能方面更好? Object.key 还是一些变量?

假设我必须存储客户信息,并且要管理双向绑定(bind),我将在此处使用$scope。所以我的疑问是,哪种方法更好?$scope.firstname="foo";$scope.lastname="bar";$scope.cellno="1234567890";$scope.email="foobar@example.com";或$scope.customerDetailsObj={};$scope.customerDetailsObj.firstname="foo";$scope.customerDetailsObj.lastname="bar";$scope.customerDetai

javascript - JavaScript 中的模型- View - Controller

tl;dr:如何以干净的方式在JavaScript中实现MVC?我正在尝试在JavaScript中实现MVC。我无数次用谷歌搜索和重组我的代码,但没有找到合适的解决方案。(代码只是“感觉不对”。)这就是我现在要做的事情。它非常复杂并且使用起来很痛苦(但仍然比我之前的一堆代码要好)。它有丑陋的变通办法,有点违背了MVC的目的。看看,如果你真的很勇敢的话,那真是一团糟://Createa"mainmodel"varmain=Model0();functionModel0(){//Createanassociatedviewandstoreitsmethodsin"view"varview=

javascript - chrome DateTime 控件的 AngularJS 数据绑定(bind)在更新 24.0.1312.52 后不起作用

希望其他人也观察到这一点:-我们正在使用AngularJS1.0并使用type="date"和元素来获得Chrome的默认日期时间选择器。一切正常,直到chrome最近更新为[24.0.1312.52]。现在,如果我使用日期时间选择器更改日期,AngularJS数据绑定(bind)不会保存它以绑定(bind)$scope的json属性。如果我通过按下任何键盘键更改日期,数据绑定(bind)会将日期保存到属性绑定(bind)中。导致此问题的原因可能是什么? 最佳答案 我注意到了相同的行为,并注意到Sutikshan走在了正确的道路上。

javascript - Ember.js - 在 Controller /路由器链上传播事件

在Ember.js中,未在Controller中处理的事件沿路由器链传播到应用程序路由(有关更多详细信息,请参阅http://emberjs.com/guides/views/handling-events/)。有没有办法在Controller中定义一个事件处理程序,允许事件继续传播到路由器?App.SampleController=Ember.ObjectController.extend({myEvent:function(obj){this.set('aVariable',true);}});App.ApplicationRoute=Ember.Route.extend({eve

javascript - 如何在 AngularJs 的指令中使用 $location

我正在创建一个指令,其中onclick将用户带到另一个页面。有点像定制的“href”标签。我希望$location会处理重定向功能,但由于我不知道的原因,这是行不通的。如果我在Controller中使用$location它可以工作,但在指令中,它不会。这是代码:angular.module("myAPP").directive('hpHref',['$location',function($location){return{restrict:"A",link:function(scope,el,attr){el.bind('click',function(){//morelogicco

javascript - 所有 Controller 模板中的 Angularjs 服务变量

我是Angularjs的新手。我创建了一个Angularjs服务来存储一些“全局”变量。它看起来像这样:.factory('authVars',function(){varsdo={baseBackendUrl:'https://www.myurl.com',user:'',password:'',token:'',isLogged:false};returnsdo;})现在我想在不同的Controller中使用ng-show/hide。whatEver这可能吗?还是将其存储在rootScope中更好?如果有一点帮助,我将不胜感激;-)thx 最佳答案

javascript - angularjs 使用 ng-repeat 调用 Filter 两次

我是angularjs的新手,正在尝试学习过滤器的概念。但在我的例子中,angularjs调用了过滤器两次。我原以为过滤器只运行一次,但是它运行了两次。无法理解为什么会这样..这是我的plunker... 最佳答案 如果我没有误解你的问题,这与here是同一个问题。Angularjsusesa'dirty-check'approach,soitneedtocallallthefilterstoseeifexistsanychange.Afterthisitdetectthathaveachangeononevariable(theo

javascript - AngularJS - ng-include ng-controller 和范围不绑定(bind)

我有以下主视图和options.html具有以下内容OptionsSearch但是“关键字”没有绑定(bind)到OptionsController中的范围。app.controller('OptionsController',['$scope',function($scope){$scope.keyword="all";$scope.search=function(){console.log("hello")};}]);当我点击按钮时,我没有看到hello并且关键字all没有出现在输入文本中。我尝试如下移动ng-controller部分一切都按预期进行。我通读了AngularJS-l