草庐IT

global-scope

全部标签

javascript - 使用范围 : $scope 时,ngDialog $scope 变量未被 $dialog 中的 ngModel 字段更新

我有一个使用ngDialog.open创建对话框的Controller。我分配scope:$scope并在弹出的$dialog中使用ng-model设置范围变量。但是,这些值未在Controller$scope中设置。ng-click函数能够调用$scope中的函数。有什么我遗漏的吗,我在这里和github上搜索了很多,阅读了文档并使用了项目中github上提供的所有示例。下面的JSFiddles进行了解释。它表明scope:$scope不是.open()的样子。这是一种单向绑定(bind),不会返回到$scope。.openConfrm()似乎具有预期的行为。ngDialog.ope

javascript - 脚本中的 Angular Scope

我们可以像下面这样在脚本标签内使用范围内定义的Angular变量吗?HTML代码:alert($scope.user_name);JS代码:functionAngularCtrl($scope){$scope.user_name='John';}我只是得到“$scopeisnotdefined”。有人可以帮我解决我在这里做错的事情吗? 最佳答案 不,你不能。$scope仅定义在Angular内部,即在您的AngularCtrl函数中。有一些方法可以从外部访问Angular范围,但这通常是不好的做法,并且表明您没有正确使用Angula

javascript - 什么是 'global symbol registry' ?

varsym=Symbol();是window['sym'],它已经是全局作用域。但是MDN说:TheabovesyntaxusingtheSymbol()functionwillnotcreateaglobalsymbolthatisavailableinyourwholecodebase.Tocreatesymbolsavailableacrossfilesandinaglobalscope-likeenvironment,usethemethodsSymbol.for()andSymbol.keyFor()tosetandretrievesymbolsfromtheglobals

javascript - 使用 `this.$watch` 而不是 `$scope.$watch` 和 'Controller As'

目前我正在使用ControllerAs格式来定义范围Controller。这对于保持View上的值范围清晰且易于遵循非常有效。但是,在实现$watch时我遇到了问题,因为它似乎依赖于$scope,所以下面的代码将不起作用。angular.module('myApp',[]).controller('myController',['contacts',function(contacts){this.contacts=contacts;this.$watch('contacts',function(newValue,oldValue){console.log({older:oldValue

javascript - 如何使用 (function(global) { ... })(this);

在thisthread我找到了一个我想使用的JavaScript代码片段。代码如下:(function(global){//thefunctioncodecomeshere})(this);如何调用这个函数来执行代码?我必须为这个global变量传递什么? 最佳答案 该函数立即执行,您无需通过调用它来执行它。它是一个函数字面量定义,后跟两个使该函数立即调用的括号。阅读更多:Immediately-InvokedFunctionExpression(IIFE)无论您在其中放置什么代码,都会立即运行。放在调用括号中的任何内容都作为参数传

javascript 性能 : global variable vs jquery's $. 数据()

我需要在我的网络应用程序中存储相对较大的JSON以供全局访问。我应该使用jquery的$.data(document.body,'some-reference-here',MyJsonObj);还是全局的?我知道将$.data()绑定(bind)到document.body比绑定(bind)到jquery对象更快,但这与全局变量相比如何?我对最有效的内存使用感兴趣。 最佳答案 浏览器JS中的全局变量就是window.variable,所以我觉得那样会快很多$.data(document.body,'some-reference-he

javascript - AngularJS 服务未定义 : Unknown provider: $scopeProvider <- $scope

我已经开始学习AngularJS,但在将服务注入(inject)Controller时遇到了问题。我试图将ThreadFactory服务放入ThreadController中,但在调用它时遇到未定义的错误。任何建议都会很棒。我得到的错误是:未知提供者:$scopeProviderapp.jsangular.module('threadsApp',['ngRoute']);angular.module('threadsApp').config(function($routeProvider,$locationProvider){$routeProvider.when('/',{templ

javascript - 在 AngularJS 中使用来自不同 Controller 的 $scope 函数

这个问题在这里已经有了答案:CanoneAngularJScontrollercallanother?(14个答案)关闭9年前。我想在另一个Controller中共享一个Controller的$scope函数,在本例中为AngularUI对话框。特别是在下面的示例中,我希望$scope.scopeVar在PopupCtrl中可用。HereisaPlunkrResolvecodebasedonmlarcher'scommenthere主要.jsangular.module('MyApp',['ui.bootstrap']);varMainCtrl=['$scope','$dialog',

javascript - angularjs $scope.$apply() 给出此错误 : Error: [$rootScope:inprog]

我正在尝试更新属于$scope的页面上的一些文本。但我不断收到此错误:Error:[$rootScope:inprog][http://errors.angularjs.org/1.2.15/$rootScope/inprog?p0=%24apply][1]atError(native)athttps://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:6:450atm(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:1

javascript - 如何将 $scope 传递给 angularjs 1.5 组件/指令

我正在尝试在Angular1.5中使用新的.component()方法。目前我发现关于如何使用它的信息很少。Angular文档也没有真正提到它。我正在尝试将作用域或对象从作用域传递到.component以在组件的模板部分中使用,但我可以传递的唯一两个参数是$element和$attrs。我尝试通过html中的属性传递对象,但我得到的只是对象名称的字符串。我尝试过将其设置为以这些方式表示为变量my-attr="item.myVal"my-attr="{item.myVal}"my-attr="{{item.myVal}}"每次我仍然得到字符串文字而不是变量的值。如何将其设置为作为变量处理