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

0 投票
2 回答
3038 浏览

javascript - 控制器内部的 Angular 1.6 绑定

我试图通过绑定将一些参数传递给我的组件,但不幸的是我没有运气在我的控制器中使用这些参数,这是我的代码:

HTML 组件:

有趣的是我可以访问模板中的参数,当我执行 2 个控制台日志时,第一个是未定义的,但在第二个中我可以看到 rid 变量......所以,我真的不明白我错过了什么。

0 投票
2 回答
2307 浏览

angularjs - Angular 1.6 自定义验证指令与 $setValidity

我正在尝试编写一个自定义指令,该指令根据指令中也需要可用的其他值验证输入字段。我通过使用带有范围变量的隔离范围来做到这一点。更具体地说,我想将产品的客户价格(即净价格)与购买价格进行比较,如果差异为负(客户价格设置为 0 除外),我想让客户-price 输入(及其周边形式)无效。这是我的指令:

这就是我在被表单标签包围的 ng-form div 中使用它的方式:

它可以工作,但问题是验证部分似乎是“时间错误”,这意味着如果我输入一个导致“标记”第一次变为负数的值,则设置表单的 $invalid 值为假。但是当下一个输入为负时,验证将启动并起作用。我认为我的问题是我在不同步骤之间进行了大量计算,但我很难知道是什么导致验证如此偏离。我想我希望对 Angular JS 机制有更深入了解的人来看看我是否在做明显错误的事情。如果我的描述有点含糊,请提前致谢。

编辑:以为我还会包括在 ng-change 上触发的方法:

验证服务 getter 基本上返回 form.$valid 并且对于我的所有其他自定义验证器都可以正常工作。

编辑 2:添加了屏幕截图,显示周围的 ng-form 标记似乎至少将其 $invalid 属性设置为 true: 在此处输入图像描述

编辑 3: 这是转译的 JS:

...这是我的 html 的精简版:

我在指令中的手表内设置了断点,由于某种奇怪的原因,当我第一次在客户价格输入中输入新值时,手表似乎没有触发。相反,我发现自己直接在 changeDetected() 方法中。我现在真的很困惑。我认为这个问题与验证之前触发的 ng-change 指令有关。我可能有一个错误的逻辑,导致在指令有时间实际更改有效性之前触发我的验证服务的 isValid 检查。

0 投票
1 回答
1480 浏览

angularjs - Angular Route - URL 中的额外 #

学习一些 Angular - 我被困在路由上

这是我的角度配置

这是我的链接

当我加载我的节点应用程序时,我被定向到

我让我的角度控制器在ng-view标签中按预期工作

但是我无法使用上面的链接从一个控制器切换到另一个。

如果我选择红色标签,我的 URL 会添加一个额外的 # 成为

请注意,如果我手动更改为

我的控制器发生了变化,它可以工作,所以为什么我会得到额外的 #

谢谢你的帮助

0 投票
1 回答
2815 浏览

javascript - 如何在 AngularJS 1.6 组件控制器中导入类?

如果我想在 AngularJS 1.6组件控制器中导入一个类,我必须使用什么语法?

例如,我有以下组件。

应用程序/电话列表.component.js

我在一个单独的文件中定义了一个类,player.js.

播放器.js

我想像这样在里面使用这个类PhoneListController()

如果我把它放在控制器文件中,这个类就可以工作。

unexpected token import如果我尝试通过以下方式导入它,我会收到:

0 投票
0 回答
169 浏览

angularjs - Angular (1.6.x) 路由到 chrome 以寻址位置

我正在尝试通过 ng-view 在部分视图中做一个简单的工作。它有四个锚链接,如瑞典、丹麦、挪威......如果我点击其中一个,它将在索引页面上显示部分页面。但是它不起作用。浏览器地址位置显示类似

localhost/Angular%20js%20practice/#!#%2Fdenmark localhost/Angular%20js%20practice/#!#%2Fnorway

但它应该像 --- localhost/Angular%20js%20practice/#/denmark--- 它会显示丹麦的部分页面视图。所以我该怎么做?

0 投票
1 回答
295 浏览

angularjs - 不要缓存或读取缓存 | AngularJS 1.6 | 引导程序 3.3

我有一个模态引导程序,内部调用是$http用 Angular 进行的。但只有在加载页面到服务器并检索数据时,问题是:

每次打开引导模式时是否可以调用“http”?

0 投票
1 回答
176 浏览

javascript - 通过 SoundCloud 认证失败,登录回调正在尝试访问跨域框架

SoundCloud SDK v3.1.2

我大约 1 年前注册了我的应用程序。

今天我发现我的 SoundCloud (SC) 登录停止工作。

当我单击按钮时,SC 弹出窗口出现消息“允许“domain.com”访问您的 SoundCloud 帐户? ”我单击connect并收到带有消息的回调弹出窗口“此弹出窗口应在几秒钟内自动关闭”。回调弹出窗口永远不会关闭。在开发控制台(用于回调弹出窗口)中,我看到以下错误:

铬 55.0.2883.87 m(64 位) VM2980 callback.html?code=3717208…&state=SoundCloud_Dialog_508d9:7 Uncaught DOMException: Blocked a frame with origin "http://domain.com" from accessing a cross-origin frame. at onload (http://domain.com/callback.html?code=3717208cc602aba6cc0195157ecd2b6b&state…8d9#access_token=1-166020-17988851-e8f6b064d7ccd4&scope=non-expiring:7:105) onload @ VM2980 callback.html?code=3717208…&state=SoundCloud_Dialog_508d9:7

火狐 50.1.0 Error: Permission denied to access property "SC" callback.html:1:1 了解更多

我的回调.html:

由我页面上的按钮触发的 JavaScript 函数(在 AngularJS 1.6 组件控制器中):

我试图调试它放置一些断点。在这里,我没有执行 SC 承诺,它仅在debugger;我单击按钮后的第一次中断。

为什么会这样以及如何解决?

0 投票
6 回答
19142 浏览

angularjs - AngularJS:如何从 URL 中删除 #!/(爆炸前缀)?

我已经完成了$locationProvider.html5Mode(true);,但它不起作用。每当我访问http://example.com它时,它都会转到http://example.com/#!/. 代码在这里给出:

我也添加了更新$locationProvider.hashPrefix('');,但没有区别。另外让我告诉你,我在地址栏中输入地址并按回车。我做得对吗?浏览器如何发现它不需要从服务器刷新?

更新#2

理想情况下,我希望 URL ashttp://example.comhttp://example.com/#!/list-roleto http://example.com/list-role。现在http://example.com/list-role给 404

更新#3

如果有帮助,我正在使用 nginx 代理。

更新#4

已擦除缓存。现在我可以看到http://example.com而不是http://example.com/#!但仍然http://example.com/list-role给出 404

0 投票
1 回答
412 浏览

javascript - AngularJS 1.6.1 表单和 ngInclude

Angular 1.6.1 在我的项目中破坏了 ngInclude。我使用 ui-bootstrap 0.14 作为选项卡。

我的模板是一个看起来像这样的表单:

我的前端仍在运行,但在控制台中,我在一秒钟内收到这 2 条消息 100 次:

未捕获的错误:[$rootScope : infdig] http://errors.angularjs.org/1.6.1/$rootScope/infdig?p0=10&p1=%5B%5D

错误:[ng:cpws] http://errors.angularjs.org/1.6.1/ng/cpws

0 投票
1 回答
572 浏览

javascript - 角度 1.6 无法在模板中显示范围值

我有 index.html

以前的

我在 registerController 中为 $scope.errorMsg 分配了一些值,因此更改为

在控制器中,当我执行 console.log 它打印值但它没有显示在 error.html 页面上。

我是 Angular 的新手,如果我需要为我的问题添加更多信息,请告诉我