问题标签 [angularjs-1.6]
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.
javascript - Angular 1.6.3 不允许 1.5.8 中允许的 JSONP 请求
Angular1.6.3
不允许允许的请求,1.5.8
我收到此错误:
完整的错误可在此处获得。
我想升级我的 angular 版本1.6.3
以获得最新最好的,但我依赖于这个 API。我有没有办法将其标记为受信任的 API 或使用此 API 的其他方式?导致这种情况的这两个版本之间有什么区别?
这是我要运行的代码:
整个存储库可在此处获得:https ://github.com/LukeSchlangen/angular-petfinder-api
angularjs - 迁移到 Angular 1.6.3 后无法测试被拒绝的承诺
我最近将我的应用程序从 Angular 1.5 更新到 1.6.3 并开始围绕我编写的基于 Promise 的代码获取 Jasmine 单元测试失败(使用 PhantomJS):
可能未处理的拒绝:未定义抛出
环顾四周,我发现公认的解决方案是将 .then() 与 .catch() 块链接起来,以优雅地处理拒绝。
我已经为我正在测试的一个源文件执行了此操作,以证明这可以解决它所犯的错误。
但是,它现在发现了一个进一步的问题,即当我的代码中调用 promise 拒绝时,我正在测试的期望不再通过。
这是我要测试的功能(在添加所需的 catch 块之后)
这是测试:
在升级到 1.6.3 之前我没有这些.catch(angular.noop)
部件,并且遇到了一些建议这样做以使测试满意的帖子,这肯定有助于我克服测试运行中未处理的拒绝错误。
我现在面临的问题是,对于拒绝测试规范,我的服务中不应该调用删除函数,因此调用次数应该为零,但它一直显示为 1。我添加了该行重置我的测试中的调用以确保它不是以前的测试贡献(我知道调用是为了在测试之间重置)。
当我在 1.5 上时,这个测试运行得很好,所以这一定是我的代码\测试的编写方式不能很好地适应 1.6.x 中的变化
有人可以解释一下这里可能发生的事情吗?
谢谢
javascript - Angular 1.6 ES6 $watch
编辑/更新:
我忘记了 angular 1.6 中的原始代码(正常方式):
http://codepen.io/darkiron/pen/qRJmaj
我想,这可以帮助你。我的工作是在 EcmaScript ES6 中进行转换。
谁的工作很棒!
如何$watch
在 ES6 Angular 控制器中使用?
我试试这个,结果不是预期的
返回总是假的!
我试试这个:
结果就是这个错误
TypeError:无法读取未定义的属性“ui”
还有一个问题:$watch
Contoller构造函数中不应该设置函数吗?
javascript - 将 $scope 传递给服务,似乎是个好主意,但是..?
我发现这种模式非常方便,但我想知道它以后是否会咬我:
MyPageService 看起来像:
这是 Angular,但同样,这也只是 JavaScript,所以这应该有效,并且在我对该模式的简短测试中一直有效。
有人可能会认为这种模式有什么“错误”吗?任何未来可能无法预料的陷阱?
我不得不说,这种模式目前运行良好。当然,这样做的动机是因为我们的控制器代码变得庞大,并且非常有必要将它们分解成碎片。这似乎是最自然的方式。
javascript - 我的自定义输入字段指令不适用于更改事件
我有这个自定义指令:
这是我的 HTML:
无论出于何种原因,on('blur')
回调在我的指令中工作,但on('change')
和bind('change')
回调没有按预期触发。如您所见,这是一个文本输入字段 - 当在该字段中输入新字符时,我希望更改回调会触发。
有谁知道为什么会发生这种情况?
javascript - 将指令隔离范围绑定传递给其控制器`this`上下文(AngularJS V1.6)
如何将指令参数传递给其控制器?
我使用指令:
<directive value="ctrl.item"></directive>
我想value
在指令的控制器中阅读:
可以使用this
吗?
angularjs - Angular Firebase 获取单个项目具有竞争条件
我同时使用了 angular 和 firebase,并且我有一个产品数组,我将其存储在我的 rootscope 中,尽管加载这些项目需要时间。
我的问题是,当我直接访问此页面时: http://localhost/product/greyish-sports-shoes
如果我转到主页,产品会在 2 秒后加载......然后只有当我点击产品链接时,它才会将我带到它,它会工作,因为产品已经加载。
它转到包含 products 数组的 shoeService,但项目仍未加载,因此它无法通过其 slug 找到产品。
这就是我在运行方法中使用的代码。
我的鞋服工厂:
angularjs - AngularJS 1.6 版从 `.success` 方法更改为 `.then` 方法
实际上正在关注春季教程..来到Angularjs,他正在使用.succes
现在我的问题是成功不起作用,经过搜索后我发现 .success 和 .error 方法已被弃用,并已从 AngularJS 1.6 中删除。我必须使用标准的 .then 方法。有人可以使用 then 方法将现有代码转换为代码吗?我试过了,但我失败了,谁能帮助不熟悉 javaScript 的 plz bcz?谢谢
javascript - ng-model 不适用于 AngularJS 中的 ng-value
下面是我的查看页面
这是我的控制器
当我使用 data:$scope.user
在我的 HTTP 调用中,我在控制台上得到空白值,但如果我使用 data: $scope.emp
,那么我永远不会得到输入字段的更新值,而是得到输入字段的旧值。