如果不使用服务或在父控制器中构build监视器,如何让子控制器访问主控制器的$scope 。 .state("main", { controller:'mainController', url:"/main", templateUrl: "main_init.html" }) .state("main.1", { controller:'mainController', parent: 'main', url:"/1", templateUrl: 'form_1.html' }) .state("main.2", { controller:'mainController', parent: 'main', url: "/2", templateUrl: 'form_2.html' }) 我无法访问子状态的mainController作用域 – 或者我正在获取该作用域的另一个实例 – 而不是我想要的。 我觉得我错过了简单的事情。 状态对象中有一个共享的数据configuration选项,但是我不确定这是否应该用于这样的事情。
我正在写一个使用angularjs的示例应用程序。 我在Chrome浏览器中遇到下面提到的错误。 错误是 错误:[ng:areq] http://errors.angularjs.org/1.3.0-beta.17/ng/areq?p0=ContactController&p1=not%20a%20function%2C%20got%20undefined 呈现为 参数'ContactController'不是一个函数,没有定义 码 <!DOCTYPE html> <html ng-app> <head> <script src="../angular.min.js"></script> <script type="text/javascript"> function ContactController($scope) { $scope.contacts = ["abcd@gmail.com", "abcd@yahoo.co.in"]; $scope.add = function() { $scope.contacts.push($scope.newcontact); $scope.newcontact = ""; }; } </script> </head> <body> <h1> modules sample </h1> <div ng-controller="ContactController"> Email:<input type="text" ng-model="newcontact"> <button ng-click="add()">Add</button> <h2> Contacts </h2> <ul> <li ng-repeat="contact in […]
我发现我需要手动更新我的页面到我的范围越来越多,因为build立一个angular度的应用程序。 我知道这样做的唯一方法是从我的控制器和指令的范围调用$apply() 。 这个问题是它一直向控制台抛出一个错误: 错误:$摘要已在进行中 有谁知道如何避免这个错误,或以不同的方式实现相同的事情?
我不明白如何使用$scope.$watch和$scope.$apply 。 官方文档没有帮助。 我不明白的是: 他们连接到DOM? 我如何更新模型的DOM更改? 他们之间的连接点是什么? 我试过这个教程 ,但需要理解$watch和$apply是理所当然的。 $apply和$watch做什么的,我该如何恰当地使用它们?
我仔细阅读了关于这个主题的AngularJS文档,然后用一个指令弄乱了。 这是小提琴 。 这里有一些相关的片段: 从HTML: <pane bi-title="title" title="{{title}}">{{text}}</pane> 从窗格指令: scope: { biTitle: '=', title: '@', bar: '=' }, 有几件事我没有得到: 为什么我必须用"{{title}}" '@'和"title"与'=' "title"一起使用"{{title}}" ? 我也可以直接访问父范围,而不用装饰我的元素的属性? 该文件说“通常是希望通过expression式和父范围从隔离的范围传递数据” ,但是这似乎也适用于双向绑定。 为什么expression路线会更好? 我发现另一个小提琴也显示expression式解决scheme: http : //jsfiddle.net/maxisam/QrCXh/
我想在Chrome的JavaScript控制台中访问我的$scope变量。 我怎么做? 我不能在控制台中看到$scope或模块myapp的名称作为变量。
我记得在AngularJS的视频中看到这个着名的引用,应该总是使用a。 (点)在您的模型。 那么我正试图按照我说的这个说法 var item = {} item.title = "Easy Access to support"; item.available = true; item.price = 31.67; 所以这在我看来很好 {{ item.title }} {{ item.available }} 我正在使用一个点,所以我认为这是好的。 但我有一些属性,我不认为模型的一部分,但也许我错了。 例如,我有一个属性,我用来启用或禁用一个按钮,使用ng-disable,我已经使用点格式输入。 它基本上是这样进入的 $scope.disableButton = true; 和我一样使用它 ng-disable="disableButton"…… 我应该使这个模型“项目”的一部分? 或者创建另一个js对象,所以我可以使用点来保存这个属性? 任何人都知道,如果这是可以接受的,或者我应该做的一切(即使这些简单的属性)。 谢谢
我正在学习Angular.js,我无法弄清楚这个简单的代码有什么问题。 它看起来很好,但给我下面的错误。 **Error**: Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.14/$injector/modulerr?p0=app&p1=Error%3A%20…gleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.14%2Fangular.min.js%3A17%3A381) 在添加ng-app= "app" (我只是把它保存为ng-app )之前,它给了我下面的错误。 这是为什么? Error: [ng:areq] http://errors.angularjs.org/1.3.14/ng/areq?p0=Ctrl&p1=not%20a%20function%2C%20got%20undefined at Error (native) at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:6:417 at Sb (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:19:510) at tb (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:20:78) at $get (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:75:331) at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:57:65 at s (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:7:408) at A (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:56:443) at g (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:51:299) at g (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:51:316) <!doctype html> <html ng-app="app"> <head> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script> </head> <body> <div ng-controller="Ctrl"> <input […]