问题标签 [angularjs-1.7]
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 -$compileProvider.preAssignBindingsEnabled 不是函数
尝试gulp serve
在我的 AngularJS(版本 1.6.10)应用程序上执行操作时收到以下错误消息:
调用代码如下所示:
类似的搜索似乎坚持认为这是一个版本差异。对这个问题的类似搜索似乎也表明角度模拟的版本控制存在问题,但是我们根本没有使用角度模拟。我已经尝试将我的 Angular 降级到 1.5.5,其他搜索表明你不能超过 - 尽管我所有的同事都在 Angular 1.6.10 或更高版本上运行它。我也尝试使用 npm 安装 angular-mocks,尽管没有使用,并同步版本以匹配我们的 Angular,但无济于事。我真的不知道该怎么做,也不知道实际发生了什么,为什么找不到那个功能?
编辑:我还检查了浏览器,通过运行搜索使用控制台进行angular.version
搜索 - 尽管我重做gulp build
并且gulp inject serve
在 npm 安装旧版本之后,它还是将 1.7.2 作为我的 Angular 版本。似乎没有正确选择正确的版本 - 我是否缺少某些东西来强制执行降级的安装?
angularjs - 何时使用 AngularJS `$onInit` Life-Cycle Hook
随着 AngularJS V1.7 的发布,预先分配绑定到的选项已被弃用和删除:
由于38f8c9,构造函数中不再提供指令绑定。
要迁移您的代码:
- 如果您指定
$compileProvider.preAssignBindingsEnabled(true)
,您需要首先迁移您的代码,以便可以将标志翻转为false
. “从 1.5 迁移到 1.6”指南中提供了有关如何执行此操作的说明 。之后,删除该$compileProvider.preAssignBindingsEnabled(true)
语句。
由于bcd0d4,默认情况下禁用控制器实例上的预分配绑定。 我们强烈建议尽快迁移您的应用程序以使其不再依赖它。
依赖于存在绑定的初始化逻辑应该放在控制器的
$onInit()
方法中,保证总是在绑定分配后调用。
当代码必须移动到$onInit
Life-Cycle Hook时,有哪些用例?我们什么时候可以将代码留在控制器构造函数中?
angularjs - Angular 1.2 和 Angular 1.6 之间触发 ng-click 和 ng-change 的顺序不同
AngularJS 1.2 和 1.6 之间发生了一些事情来反转顺序ng-click
并ng-change
触发。
我做了一个说明来说明它:http ://plnkr.co/edit/XgbgLSuP1znhWszeyiHd?p=preview
此页面的默认设置是使用Angular 1.2.28
. 在这种情况下,如果您更改示例中的单选按钮,您将看到 click 事件在 change 事件之前触发。
如果您随后切换注释以使用 Angular 1.6.10,您将看到 change 事件现在在 click 事件之前触发。
AngularJS 的开发中发生了什么导致这种情况,有没有办法在使用更新版本的 AngularJS 时保留以前的行为?
非常感谢您提供的任何帮助!
编辑:我可能应该说为什么这很重要。我希望能够在变量更改之前检查变量的值,以查看是否应允许更改。我可以ng-click
在 AngularJS 1.2 上执行此操作,但因为ng-change
在 AngularJS 1.6 上首先触发,所以在我决定是否应该继续之前已经进行了更改。如果您对如何使用 AngularJS 1.6 实现这一点有其他想法,我很想听听他们的意见。
javascript - Angularjs ui-router 与 Materialize-angular 问题
我想一起使用 ui-router 和 angular-materialize,但是当我想添加 angular materialize 模块时,它在控制台中显示了这个错误:
错误:[$injector:modulerr] ...
脚本.js
请告诉我我有什么问题。这是我在Plunker中的代码
angularjs - angularjs 1.7 选择下拉菜单显示了一个额外的选项值
我正在尝试在我的应用程序中将 angularjs 从 1.5 迁移到 1.7。
我的模型数据如下:
的HTML:
由于是一个空字符串,因此 angular在下拉列表中$scope.myColor
呈现了一个额外的内容,如下所示。<option value="?"></option>
有什么方法可以避免显示<option value="?"></option>
并将其默认为<option value="">--choose color --</option>
空$scope.myColor
值?
它在 angular 1.5 下按预期工作。
这是 plunker:https ://plnkr.co/edit/g0rVjBpM2qLrGuweP19E?p=preview
编辑:@FDavidov、@Houssein、@Aleksey 建议我$scope.myColor = null
在以下答案中使用。谢谢你。但这是我的企业应用程序代码库的一个重大变化。我试图找出是否有任何其他方法可以通过更改 html 来实现相同的效果。
javascript - 量角器:自定义 ExpectedConditions - 属性更改
我正在尝试实现自定义 ExpectedConditions 方法,该方法将等待元素属性发生变化。
这是我的解决方案:
在我的onPrepare
:
最后在我的测试套件中:
但它一直在说Failed: Wait timed out after 3006ms
,我做错了什么,好吗?
javascript - Scrollspy 不适用于 AngularJs 单页应用程序
我知道这可能以前可能被问过,但是在整个网络中,我没有得到一个合适的工作帖子来解决我的问题。于是想到自己去问。
当我在 AngularJs(1.7.2) example-2中使用路由时,Scrollspy 概念不起作用
它在没有路由的情况下在这里工作example-1
让我详细说明我所做的和期望的:我有一个单页应用程序,其中有一个菜单部分和正文部分。当正文部分在需要菜单项中滚动时,将根据位置自动选择。在示例 1 中:菜单和正文都在同一页面中,示例正在运行。但在示例 2 中:当我从另一个视图加载正文的内容时,菜单自动选择不起作用。
如果你们中的任何人能指出我解决这个问题的正确方向,那就太好了。
javascript - 量角器:模拟 angularjs 属性
我有一个包含noDoubleClick
属性的通用模块,我用它来防止表单按钮被意外单击两次。
但是我在使用量角器运行测试时不想要这个功能。反正有没有禁用该属性?
我试过这样,但它不起作用
angularjs - 如何使用角度权限库在 angularjs 中使用多个权限进行多次重定向?
我想要一个具有多个权限的路由,并且只有在所有权限都满足的情况下才能访问它,并且我想要为每个权限设置不同的重定向规则,如下所示:
我检查了angular-permission的文档,它提到该only
选项的工作方式类似于OR
.
数组运算符 OR 中的值之间用于创建替代项。如果您需要在权限之间使用 AND 运算符,请定义包含这些权限集的附加 PermRole。
我怎样才能让它工作AND
?
angularjs - 如何在使用角度权限库定义权限时执行异步任务
我正在使用angular-permission库以及ui-router和satellizer。
以下是 的状态定义home
。在那我正在检查用户是否被授权使用angular-permission。
以下是权限定义loggedin
但是当我进行异步调用时,它在某种程度上不起作用。如果我isAuthenticated
按照以下方式更改功能,那么它可以正常工作,但是如果令牌过期,我需要刷新令牌,否则,将用户重定向到登录页面。
来自角度许可的文档:
有时您需要调用一些后端 api 或执行一些其他异步任务来检查权限是否仍然有效。为此,您可以使用 Promise 并简单地从验证函数中返回它们:
但是当我在 中使用服务时definePermission
,它只是简单地通过而没有任何重定向。