问题标签 [angularjs-1.5]

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 回答
3737 浏览

javascript - 使用与跨浏览器兼容的 JavaScript 下载 PDF

我可以在 Chrome 中使用 AngularJS 下载 PDF,但这似乎不适用于最新的 FireFox、Internet Explorer 11 或 Edge(假设它也不适用于 IE10),而且我知道IE9 需要 shim。如果有人有意见,不知道这是否是最好的垫片,但目前它似乎不起作用。我尝试了一种响应类型,blob以防arraybuffer万一有所不同,但事实并非如此。

所有这些都与caniuse关于使用 Blob URL 的指示相矛盾。任何人都可以在 IE9 及更高版本以及 FF 的最后几个版本中使用此功能,并且可以指出我做错了什么?

更新

目前最佳(唯一)答案适用于 IE10、11、Edge、FF,并继续适用于 Chrome。如果有人有另一个 polyfill/shim/other/etc,IE9 将无法使用此解决方案,并且 Safari 不支持下载属性,因此所选答案中的解决方案在 SPA 中不起作用,因为它只是重定向当前页面所以在这两种情况下,我都只留下了 TODO 存根。

这是对已发布答案的更新,在评论中添加了更多信息,供任何人使用或希望添加到,以便 IE9 和 Safari 按预期工作:

0 投票
0 回答
87 浏览

.net - 将 AngularJS 1.3 指令转换为 1.5 组件静默失败

我正在将 .net 中内置的 Angular 1.3 项目转换为带有打字稿的 1.5 组件。

我有一个指令,我已将其归结为最简单的可能形式。该指令如下所示:

当我将它转换为组件时,它看起来像这样:

该组件在实际的 .Net 项目中静默失败。什么都没有呈现,不是模板,也不是 console.log 语句。这是在同一个 ts 文件中,所以我知道这不是 tsc 问题或捆绑问题。正在加载文件。我用 angular.version 确认它确实在项目中运行 Angular 1.5.7。我不认为这是组件代码本身的问题,因为它在此处看到的 plunker 中工作:

https://plnkr.co/edit/W8cR69O9BWWnTcwK1e0a?p=preview

但在实际项目中,它根本什么都不做,我不知道还有什么地方可以检查或编辑以加载组件。

当我检查页面上的源时,它显示正在加载的文件并包含相同的代码:

编辑以明确问题发生的位置。

0 投票
1 回答
41 浏览

angularjs - 在角度 js 1 中访问文本框值的问题?

我在 ng-keyup 上调用函数并尝试传递一个实际上没有传递的文本框值并得到“未定义”变量

html代码

功能控制器代码

0 投票
1 回答
372 浏览

ng-tags-input - 如何使用 ng-tags-input 自动完成绑定数组属性

我有以下代码用于在 ng-tags-input 中生成标签

vm.campusesList数组中,我有多个包含多个属性的对象。我想要的是从每个对象中获取name属性并在自动完成标记中使用它。

这是我的看法。

0 投票
0 回答
1147 浏览

angularjs - Ng-mock:$compileProvider 没有方法“preAssignBindingsEnabled”

我一直在将 Angular 1.5.8 中的指令重写为组件。我想用 '$componentController` 编写单元测试,就像这里描述的那样:https ://docs.angularjs.org/guide/component 。

问题是我在这一行遇到错误:

var ctrl = $componentController('componentName', null, bindings);

说: undefined is not a constructor (evaluating 'compileProvider.preAssignBindingsEnabled()') app/lib/angular-mocks/angular-mocks.js:2235:80

所以看起来 $compileProvider 根本没有preAssignBindingsEnabled方法。如果有人知道我可能做错了什么,我将不胜感激。

谢谢!

更新:单元测试的 jsFiddle:https ://jsfiddle.net/kveb1ovo/2/

0 投票
0 回答
773 浏览

javascript - ESLint 为 EcmaScript 5 推荐的可共享配置

我已经为使用 ES5 的遗留项目设置了 ESLint,但可共享的配置似乎都是 ES6。因此,在引入 eslint 推荐和 google 之后,我不得不开始添加额外的配置以防止 ES6 检查像no-var. 我希望我不需要过多地自定义推荐的可共享配置,因此任何更新大部分都可以通过共享配置来实现,而无需进行大量的逐行比较。

有谁知道我在哪里可以找到推荐的 ES5 和 Google ES5 配置,以便 ESLint 在 Angular 1.x 应用程序上运行?

这是我到目前为止的一个示例,但它包含no-varES6 配置等,所以我必须自己包含它:

0 投票
0 回答
419 浏览

angularjs - $transclude 可以用来获取插值文本内容吗?

在控制器中使用 $transclude 进行插值后,有没有办法获取 transclude 内容?我希望在没有任何更改的情况下执行嵌入,但我需要插值。

例如,我有一个包含插值字符串的组件:

在我的控制器中使用$transclude我可以这样做来获取嵌入的内容,但它将未插值的值{{ vm.someTextToTransclude }}作为字符串而不是Hello World

我知道我可以将它绑定到组件,但这不是这个问题的重点。目前这是这样做的,因为内容没有使用 $transclude 进行插值:

0 投票
0 回答
428 浏览

angularjs - AngularJS 1.5 装饰器不适用于 $log

我已经装饰了 AngularJS $log 服务,但我只能看到它加载配置并且没有装饰任何 $log 方法。这曾经可以工作,并且我在应用程序中有很多$log.info(...);需要关闭才能进行部署,但即使设置了生产,它们仍会继续记录到控制台。为简洁起见,我将修饰的方法简化为仅信息。

任何人都可以看到发生了什么或错了吗?这是相当教科书,当我注意到它不再工作时,我检查了一堆来源,他们似乎以同样的方式做这件事。

更新

似乎问题与发生 ngTable 事件时将应用程序滚动到顶部的其他配置有关:

0 投票
1 回答
529 浏览

javascript - 如何根据与 Angular JS 中的下拉值的比较来更新文本字段值?

嗨,我是 Angular JS 的新手。我有一个 HTML 文件,它有一个下拉列表和一个文本区域。文本区域值将根据选定的下拉值更新。请注意:textarea 不会显示用户在下拉菜单中选择的相同值。它将根据下拉列表的值显示一些其他值。

下面是我的 HTML 代码片段。Dropdown 的值来自我在控制器中进行休息调用后得到的后端:

我从后端得到的响应是这样的 XML 格式:

在下拉列表中,我正在显示“menuName”,正如您在 XML 响应中看到的那样。在 textarea 中,我需要显示相应的任务列表。我在 HTML 代码中使用了“ng-model”,但这给出了所选菜单的值。但我需要得到相应的任务值。我们应该怎么做。请帮忙。

0 投票
4 回答
2694 浏览

javascript - 如何在 Angular JS 中的 HTTP 获取 URL 中附加动态查询参数?

我是角度 JS 的新手。我有一个控制器(.js 文件),我在其中编写了一个函数来对后端进行 http get 调用。如下所示:

现在的问题是我需要向我在上面代码片段中提到的 url 添加两个查询参数,以便最终 URL 看起来像这样:

这个 param1 和 param2 值是从我的 HTML 文件的输入文本框中获得的。知道我们如何将动态查询参数附加到此 URL 吗?