草庐IT

javascript - 在 html 中访问动态 $scope 变量

我正在创建大量指令,所有指令都将包含动态范围变量,这些变量将在链接函数中初始化例如://link:function(scope,ele,attr){scope.key=scope.somevar+'something_else';scope[scope.key]='the_value';}//我想通过scope.key访问指令模板中的值。something目前我只看到它通过像这样的函数调用是可行的:htmlsomethingjsscope.scope=function(key){returnscope[key];}但问题是我需要将其复制到所有指令中。我考虑的另一个选择是将getter函

javascript - AngularJs $scope 在对工厂发出 GET 请求后不更新

我一直在为一个实验项目尝试AngularJS,但我遇到了这个问题。在我的html中,我想显示一个项目列表Index.htmlSomelistItemdescription:{{item.description}}Itemname:{{item.name}}起初我使用一个简单的Controller来获取信息并更新View:controllers.js(原创)functiondatlist($scope,$http){$http({method:'GET',url:'http://localhost:61686/getdatlist?format=json',headers:{'Acces

javascript - AngularJS 指令 : template with scope value (ng-bind-html)

我有这样的指令:...template:function(element,attrs){varhtmlTemplate='\\';returnhtmlTemplate;},...(如你所见,我也在使用翻译插件)我有一个问题:在范围内这个值正在改变,但它在指令中没有改变(当我使用attrs-params时(当然,如果customDynamicText是静态字符串-一切正常)-但我有一个动态变量customDynamicText我如何在directivetemplate和ng-bind-html中使用这个动态变量。这可能吗? 最佳答案

javascript - 在 Controller 中为 AngularJS $scope 对象起别名

无需详细说明原因,我需要在我的Controller中为$scope提供一个别名。我希望用户能够注入(inject)view并使其具有相同的效果,而不是注入(inject)和装饰$scope。根据我对Angular的理解,$scope是由$scopeProvider创建的,它是在Angular应用程序配置时注册的工厂。我假设我需要注册一个viewProvider并将其设置为等于$scopeProvider但我一直没有成功尝试。有什么想法吗?仅供引用:我不是在寻找类似['$scope',function(view){...的东西,理想的解决方案是使用['view',function(Vie

javascript - 为什么需要变量名 "$scope"?

我是Javascript的新手(刚刚读完EloquentJavascript这本书),目前正在阅读O'Reilly的AngularJS。让书中的这一小段代码运行起来让我发疯了几个小时,让我陷入了兔子洞,以为我在设置环境的某个地方搞砸了。AngularJS书籍提供的代码与我输入的代码的唯一区别是我在TextController函数的“$scope”中省略了“$”。放回“$”允许代码工作。以下是我最初将其排除在外的原因:哦,'$scope'只是函数的局部变量名。与任何其他编程语言(如Java或C++)一样,因为此参数只是一个局部变量,所以我可以随意命名它,因为传递给函数的任何参数都将按值传

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 - 使用 `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 - 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',