问题标签 [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.

0 投票
1 回答
8860 浏览

angularjs - 在 AngularJS 的一个控制器中控制多个视图

遵循 MVC 模式,一个控制器应该能够在 AngularJS 中处理多个视图。

例如,我有一个视图用于显示所有用户,一个视图用于创建新用户。我的 $routeProvider(摘录)看起来像这样:

两个视图共享几种方法,例如检索所有用户属性。这些共享方法通过factory.

userController摘录)目前看起来像这样,Users工厂在哪里:

Users.getAll();问题是:当我在createuser视图中时,我不需要请求。

当然,我可以通过使用$location,$routeProvider或纯 JS 轻松解析路由,然后有条件地调用方法 - 但我认为 Angular 中有一种更优雅和更有效的方法 :)
就像在典型的 MVC 框架中,一个控制器有很多动作 -每个视图一个。

所以我的问题是:
如何优雅地基于控制器中的视图调用方法,该控制器控制多个视图?

0 投票
2 回答
1316 浏览

angularjs - 在 tomcat 中配置 angularjs 应用程序具有多个视图

我在 tomcat 中配置了一个小角度应用程序,它工作正常,但是当我尝试使用 route-Provider 时它不工作。我无法路由到我的观点。我不知道为什么?

任何人都可以为此举一些小例子。

我的代码文件

我的 index.html

管理员.html

数据视图.html

0 投票
0 回答
132 浏览

angularjs - AngularJS ngView 删除表单控件。形式未定义

出于某种奇怪的原因,在工作了一段时间后,AngularJS 部分视图模板(html 文件)一旦加载到 ngView 中就会丢弃第一个表单控件。我在突然得到 $scope.formName 未定义时发现了这一点。

例子:

html部分模板页面是这样开始的

然后在查看页面源时,这就是那里。

如您所见,表单元素已被完全删除。我已经确认控制器加载正确,从服务器加载页面的调用返回表单元素,并且没有同名的范围变量。同一页面上的其他表单(第一个表单的子表单和非子表单)留在页面上并正常工作。

如果这还不够,最奇怪的是我发现的唯一解决方法是将 a<style type="text/css">...</style>放在表单元素之前。

如果有人能理解我在说什么并且知道发生了什么,请告诉我。

谢谢

0 投票
3 回答
3603 浏览

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 的重复控制器。删除它解决了问题。有关详细信息,请参阅我的答案。

0 投票
1 回答
1190 浏览

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。

0 投票
1 回答
432 浏览

html - 在视图之间滑动...但是视图位于页眉顶部和页脚后面?

嗨,我有一个角度应用程序。它运行良好。我已经决定我希望它在视图之间进行动画处理。在这种情况下……当用户单击导航栏上的链接时……视图会滑动到不同的视图。

我从中得到了这个想法: 在视图之间滑动这行得通!但是页脚在屏幕中间突然上升,导航栏在滑动视图后面。这段代码的位置绝对是罪魁祸首:

我不知道该放在哪里。 我试过把它放在导航栏上方......毫不奇怪......它使导航栏滑动......所以我把它移到导航栏下面......它工作......但是整个视图在标题的顶部和后面滑动页脚!与它在页脚仍然在底部而页眉在它应该在的顶部滑动相反。

这应该是这样的:

它应该是什么样子

相反,它看起来像这样:

现在的样子

任何帮助将不胜感激,谢谢。

0 投票
1 回答
631 浏览

angularjs - 使用 history.back() 时的不同动画

我创建了一个基于 AngularJS 的网站。每个页面都有自己的模板和控制器,并包含ng-view在主布局中。

但是我对不同页面之间的动画有疑问。如果向前导航,我希望它们从右侧飞入(并向左侧消失),反之亦然(从左侧飞入,向右消失),当用户点击浏览器或 history.back 的后退按钮时() 在 JS 代码中触发。

我该怎么做呢?

我已经设法通过将动画分配给类ng-enter和来定义动画ng-leave,但是当按下后退按钮时它们不会改变,即最后一页从右侧进入而不是从左侧进入。

我还尝试将向后动画定义为默认动画,并ng-view在我想向前导航以使用正确的动画时动态更改元素的类,但是要重置这个临时类,我(认为我)必须使用在 X 毫秒后(动画完成时)简单地重置它的计时器。不幸的是,当用户快速/在前进动画期间按下返回时,这会导致错误。

0 投票
0 回答
599 浏览

angularjs - 从父控制器发出的调用指令事件处理程序

我有一个要求,例如我想从控制器发出事件,并且事件处理程序存在于指令控制器(即子控制器)中。

请在下面找到代码:

如果我在上面的代码中取消注释 $timeout,我的代码可以正常工作。但我想知道一些更好的解决方案,而不是使用上述解决方案。

我在我的项目中的一个视图中有这个场景,我有一个视图控制器和一个带有事件处理程序的指令,并从视图控制器发出事件。

0 投票
3 回答
519 浏览

javascript - Angularjs视图未更新,单击按钮时查看闪烁

我编写了以下 HTML 和 AngularJS 代码,以在单击按钮时更新 HTML 页面(视图)上的树。

单击按钮时,更改会出现几分之一秒然后消失。我无法找到原因。你能告诉我如何克服这个问题吗?

下面是 HTML 和 JS 代码。这在片段编辑器中有效,但在浏览器中无效。

0 投票
1 回答
501 浏览

javascript - 在 AngularJS 中执行 create-btn 后,ngModel 值为 null

我已经减少了我的表单以使用 ngRepeat 创建输入字段。所以属性的项目是在我的 ctrl.xml 中定义的。

首先是 ModalCtrl 的代码:

此对象数组添加到以下表单视图(模式窗口)中:

总是当我试图创建一个对象时,我会在执行一个空对象“NULL”之后得到。不知道哪里出错了?!其他项目被正确分配,只有 ngModel 没有。


编辑:

这是列表的第一个视图:

第一控制:

模态服务: