问题标签 [angularjs-view]
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 - 在 AngularJS 的一个控制器中控制多个视图
遵循 MVC 模式,一个控制器应该能够在 AngularJS 中处理多个视图。
例如,我有一个视图用于显示所有用户,一个视图用于创建新用户。我的 $routeProvider
(摘录)看起来像这样:
两个视图共享几种方法,例如检索所有用户属性。这些共享方法通过factory
.
(userController
摘录)目前看起来像这样,Users
工厂在哪里:
Users.getAll();
问题是:当我在createuser
视图中时,我不需要请求。
当然,我可以通过使用$location
,$routeProvider
或纯 JS 轻松解析路由,然后有条件地调用方法 - 但我认为 Angular 中有一种更优雅和更有效的方法 :)
就像在典型的 MVC 框架中,一个控制器有很多动作 -每个视图一个。
所以我的问题是:
如何优雅地基于控制器中的视图调用方法,该控制器控制多个视图?
angularjs - 在 tomcat 中配置 angularjs 应用程序具有多个视图
我在 tomcat 中配置了一个小角度应用程序,它工作正常,但是当我尝试使用 route-Provider 时它不工作。我无法路由到我的观点。我不知道为什么?
任何人都可以为此举一些小例子。
我的代码文件
我的 index.html
管理员.html
数据视图.html
angularjs - AngularJS ngView 删除表单控件。形式未定义
出于某种奇怪的原因,在工作了一段时间后,AngularJS 部分视图模板(html 文件)一旦加载到 ngView 中就会丢弃第一个表单控件。我在突然得到 $scope.formName 未定义时发现了这一点。
例子:
html部分模板页面是这样开始的
然后在查看页面源时,这就是那里。
如您所见,表单元素已被完全删除。我已经确认控制器加载正确,从服务器加载页面的调用返回表单元素,并且没有同名的范围变量。同一页面上的其他表单(第一个表单的子表单和非子表单)留在页面上并正常工作。
如果这还不够,最奇怪的是我发现的唯一解决方法是将 a<style type="text/css">...</style>
放在表单元素之前。
如果有人能理解我在说什么并且知道发生了什么,请告诉我。
谢谢
angularjs - 当 $resource 承诺解决时更新 $scope
我一直在努力思考如何正确使用 angular $scope。我的应用程序在加载主页时根据从服务器收到的 json 数据中的 url 链接更新视图。
单击按钮时控制器会获取下一个数据文件,但我无法将此数据注入我的范围变量并更新视图。网络成功传输数据,因此我的服务正在运行。
在应用程序初始化后,我不明白如何让 $scope 解决 $resource 承诺并在我检索数据时更新视图。非常感谢您在此问题上的任何帮助。
我的列表控制器:
服务 :
看法 :
服务器响应:
(*) $resource 去掉 jsonp 并且只返回 json。
更新 :
$scope.data
如果我只在nextPage
函数范围内分配,它就可以完美地工作。我知道该ng-click
指令将此函数包装在$scope.apply()
. 然后,显式调用 apply 会导致错误是有道理的。
解决方案 :
<div ng-controller="ListController">
创建了一个具有不同 $scope 的重复控制器。删除它解决了问题。有关详细信息,请参阅我的答案。
internet-explorer - AngularJS Web 应用程序的 IE 空白页
我们目前正在寻找有关如何解决当前在 IE 9 上的问题的建议或帮助。我们有一个 Web 应用程序,例如由 AngularJS 和 Laravel 创建的 YouTube。Web 应用程序可以在 Firefox 和 Chrome 中打开并运行良好,但在 IE 9 上无法运行。它只显示一个网页,我注意到以下内容:
Firefox 和 Chrome URLL:https://abc/tube/index.php/login?
IE 9 网址:https://abc/#/tube/index.php/login
IE9 URL 在 URL 中插入了 # 字符。
我们的 AngularJS 代码是:
IE 9 中没有错误,以下是您尝试检查时加载的 IE 9:
请帮助我们解决这个问题,因为我们 61% 的用户使用 IE 9。我们也没有选择升级到更高版本的 IE。
html - 在视图之间滑动...但是视图位于页眉顶部和页脚后面?
嗨,我有一个角度应用程序。它运行良好。我已经决定我希望它在视图之间进行动画处理。在这种情况下……当用户单击导航栏上的链接时……视图会滑动到不同的视图。
我从中得到了这个想法: 在视图之间滑动这行得通!但是页脚在屏幕中间突然上升,导航栏在滑动视图后面。这段代码的位置绝对是罪魁祸首:
我不知道该放在哪里。 我试过把它放在导航栏上方......毫不奇怪......它使导航栏滑动......所以我把它移到导航栏下面......它工作......但是整个视图在标题的顶部和后面滑动页脚!与它在页脚仍然在底部而页眉在它应该在的顶部滑动相反。
这应该是这样的:
相反,它看起来像这样:
任何帮助将不胜感激,谢谢。
angularjs - 使用 history.back() 时的不同动画
我创建了一个基于 AngularJS 的网站。每个页面都有自己的模板和控制器,并包含ng-view
在主布局中。
但是我对不同页面之间的动画有疑问。如果向前导航,我希望它们从右侧飞入(并向左侧消失),反之亦然(从左侧飞入,向右消失),当用户点击浏览器或 history.back 的后退按钮时() 在 JS 代码中触发。
我该怎么做呢?
我已经设法通过将动画分配给类ng-enter
和来定义动画ng-leave
,但是当按下后退按钮时它们不会改变,即最后一页从右侧进入而不是从左侧进入。
我还尝试将向后动画定义为默认动画,并ng-view
在我想向前导航以使用正确的动画时动态更改元素的类,但是要重置这个临时类,我(认为我)必须使用在 X 毫秒后(动画完成时)简单地重置它的计时器。不幸的是,当用户快速/在前进动画期间按下返回时,这会导致错误。
angularjs - 从父控制器发出的调用指令事件处理程序
我有一个要求,例如我想从控制器发出事件,并且事件处理程序存在于指令控制器(即子控制器)中。
请在下面找到代码:
如果我在上面的代码中取消注释 $timeout,我的代码可以正常工作。但我想知道一些更好的解决方案,而不是使用上述解决方案。
我在我的项目中的一个视图中有这个场景,我有一个视图控制器和一个带有事件处理程序的指令,并从视图控制器发出事件。
javascript - Angularjs视图未更新,单击按钮时查看闪烁
我编写了以下 HTML 和 AngularJS 代码,以在单击按钮时更新 HTML 页面(视图)上的树。
单击按钮时,更改会出现几分之一秒然后消失。我无法找到原因。你能告诉我如何克服这个问题吗?
下面是 HTML 和 JS 代码。这在片段编辑器中有效,但在浏览器中无效。
javascript - 在 AngularJS 中执行 create-btn 后,ngModel 值为 null
我已经减少了我的表单以使用 ngRepeat 创建输入字段。所以属性的项目是在我的 ctrl.xml 中定义的。
首先是 ModalCtrl 的代码:
此对象数组添加到以下表单视图(模式窗口)中:
总是当我试图创建一个对象时,我会在执行一个空对象“NULL”之后得到。不知道哪里出错了?!其他项目被正确分配,只有 ngModel 没有。
编辑:
这是列表的第一个视图:
第一控制:
模态服务: