问题标签 [angularjs-controller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - 将 ng-repeat 子对象绑定到另一个子对象(邮政编码 + 城市!)
主要是伪代码,所以请不要介意是否有错别字。我试图弄清楚如何为我的控制器方法访问 address.City.ZipCode 的值;因为这只是地址迭代中的一个孩子(标记为(???))。目标是按邮政编码过滤城市。
看起来很简单,但真的让我很难过。也许 $scope.address.City.ZipCode 有一个类似数组的语法?ng-repeat 的原因是我打算在每个帐户中都有大量地址列表。
谢谢你的朋友
.
视图.html
控制器.js
angularjs - 我应该在哪里使用 angularjs 中的 $http?-> 工厂和服务的区别
我应该在哪里使用 angularjs中的$http ?在控制器或服务中?我已经在服务中实现了它,但我不想在应用程序启动时执行,我想在一些用户操作后执行,这在服务中可能吗?
并且有人对工厂和服务的区别有很好的文档吗?angulajs 网站无法帮助我理解。
感谢您的帮助!
angularjs - 搜索结果过滤器 - 控制器或服务或过滤器?
我有一个搜索结果页面。搜索结果页面目前基本上是一个大控制器。我有用于过滤器的代码,但这不是 angularjs 过滤器,因为我正在对后端进行另一次搜索,而且我不只是返回不同的数组集。我想将过滤器与搜索结果控制器分开,因为它已经很大了。我的问题是:我是让它成为另一个控制器并向 searchResults 控制器广播更改,还是让它成为一个服务,或者它实际上是一个过滤器?
我目前认为单独的控制器更有意义,因为我仍然必须使用范围,但对于服务,我似乎只能使用 $rootScope。
总的来说,知道什么需要过滤器和控制器会很好。
arrays - 返回“未定义”的数组长度
我正在使用 AngularJS 构建一个应用程序。我使用 Slim 在我的应用程序中处理 Web 服务。
我有这样的服务:
从 Slim 我返回一个 json 响应,例如:
在我的控制器中,我写道:
我的控制台看起来像这样console.info($scope.mainpage)
资源 {$get: function, $save: function, $query: function, $remove: function, $delete: function…}
值1:“val1”
值 2:“值 2”
我的控制台undefined
返回console.info($scope.mainpage.length)
我在这里做错了什么?
angularjs - 角度控制器符号有什么区别?
我已经看到了一些以角度初始化控制器的符号,它们是:
和
两者都有效,但我在文档中找不到任何发现差异的东西,这有关系吗?
http - AngularJS - http请求后刷新视图,$rootScope.apply返回$digest已经在进行中
我只是想在我的应用程序启动时加载数据。但是,视图加载速度比 http 请求快(当然)。一旦我的数据被正确加载,我想刷新我的视图,因为该数据定义了我的视图。
我在工厂内部尝试了 $rootScope.apply,我在其中执行 http 请求,我还尝试使用 $scope.apply 再次在控制器中直接执行 http 请求,但都没有工作,因为他们都给了我“$digest已经在进行中”
知道如何设置我的代码以使我的视图在数据加载时刷新吗?我将有几个不同的 http 请求,我想知道如何正确设置它们!我真的很感激任何意见!
这是我正在使用的一些代码。
工厂
控制器调用工厂的函数 initializeAll()
data-binding - AngularJS绑定,多个控制器通过一个服务,部分页面由php渲染
我知道这很长,但在更复杂的情况下我正在做的事情似乎是导致问题的具体原因。我尝试的所有简单示例都可以正常工作。
我有一个使用 angularjs 和 laravel 四的应用程序设置。
主页通过 laravel 路由渲染:
app.php 返回具有以下结构的网站骨架:
app.js 的基础知识:
用户最初被路由到登录模板,此时 LoginController 更新驻留在 UserService 中的用户信息。
Authentication Service 适当地更新 UserService 变量:
NavController(上面看到的导航栏控制器)将其范围绑定到 UserService.currentUser。
UserService 的相关部分:
});
当用户登录时,他们的用户电子邮件和用户 ID 应该出现在导航栏中。
如果我创建一个严格使用 javascript/html 的示例,则绑定没有问题。
使用上面提到的机制/结构,导航栏在重新加载整个页面之前不会响应 UserService 当前用户变量的变化。
用户登录后,我可以验证 UserController 和 UserService 是否都适当地更新了 currentUser。尽管如此,除非我重新加载整个页面,否则 NavController 不会反映更新的用户。
我认为这是因为 NavController 现在正在使用更新的信息重新运行,但为什么正常绑定不起作用?
我想这与导航栏是通过 php 加载的事实有关。
我的问题是我怎样才能:a)通过服务进行绑定或b)在必要时重新加载NavController(登录/注销后)
angularjs - 使用在模块中创建的控制器与全局创建的控制器可以做什么或不能做什么?
看过各种 Angular JS 示例,我得到提示,我应该在模块上定义控制器而不是全局定义。
假设我有一个应用程序,它<body ng-app='mymodule'>
在主体内部可以识别在 mymodule 中创建的控制器和全局创建的控制器。
- 与全局控制器相比,模块上定义的控制器将无法访问任何全局变量。真假 ?
- 这里还有其他需要注意的要点吗?
angularjs - AngularJS - 范围不是 ng-repeat 的 ng-click 事件中的预期范围
我有这个代码片段:
我不明白为什么:
不起作用。我认为 ng-repeat 正在创建一个新的范围。
twitter-bootstrap - 如何在我的指令中连接我的控制器以插入数据并在 angular.js 中添加引导选择?
我正在尝试使用控制器在我的选择菜单上添加数据并使用 ng-options,而我在指令中定义了一个类来将 bootstrap-select 插件插入到元素中。问题是我的控制器中的数据不起作用,它与我的指令有冲突,我什至尝试在我的指令中使用 require 和 controller 方法。
请看一下我的代码:
HTML
我的控制器:
我的指令:
谢谢您的帮助 :)