问题标签 [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.
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 按预期工作:
.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
但在实际项目中,它根本什么都不做,我不知道还有什么地方可以检查或编辑以加载组件。
当我检查页面上的源时,它显示正在加载的文件并包含相同的代码:
编辑以明确问题发生的位置。
angularjs - 在角度 js 1 中访问文本框值的问题?
我在 ng-keyup 上调用函数并尝试传递一个实际上没有传递的文本框值并得到“未定义”变量
html代码
功能控制器代码
ng-tags-input - 如何使用 ng-tags-input 自动完成绑定数组属性
我有以下代码用于在 ng-tags-input 中生成标签
在vm.campusesList数组中,我有多个包含多个属性的对象。我想要的是从每个对象中获取name属性并在自动完成标记中使用它。
这是我的看法。
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/
javascript - ESLint 为 EcmaScript 5 推荐的可共享配置
我已经为使用 ES5 的遗留项目设置了 ESLint,但可共享的配置似乎都是 ES6。因此,在引入 eslint 推荐和 google 之后,我不得不开始添加额外的配置以防止 ES6 检查像no-var
. 我希望我不需要过多地自定义推荐的可共享配置,因此任何更新大部分都可以通过共享配置来实现,而无需进行大量的逐行比较。
有谁知道我在哪里可以找到推荐的 ES5 和 Google ES5 配置,以便 ESLint 在 Angular 1.x 应用程序上运行?
这是我到目前为止的一个示例,但它包含no-var
ES6 配置等,所以我必须自己包含它:
angularjs - $transclude 可以用来获取插值文本内容吗?
在控制器中使用 $transclude 进行插值后,有没有办法获取 transclude 内容?我希望在没有任何更改的情况下执行嵌入,但我需要插值。
例如,我有一个包含插值字符串的组件:
在我的控制器中使用$transclude
我可以这样做来获取嵌入的内容,但它将未插值的值{{ vm.someTextToTransclude }}
作为字符串而不是Hello World
:
我知道我可以将它绑定到组件,但这不是这个问题的重点。目前这是这样做的,因为内容没有使用 $transclude 进行插值:
angularjs - AngularJS 1.5 装饰器不适用于 $log
我已经装饰了 AngularJS $log 服务,但我只能看到它加载配置并且没有装饰任何 $log 方法。这曾经可以工作,并且我在应用程序中有很多$log.info(...);
需要关闭才能进行部署,但即使设置了生产,它们仍会继续记录到控制台。为简洁起见,我将修饰的方法简化为仅信息。
任何人都可以看到发生了什么或错了吗?这是相当教科书,当我注意到它不再工作时,我检查了一堆来源,他们似乎以同样的方式做这件事。
更新
似乎问题与发生 ngTable 事件时将应用程序滚动到顶部的其他配置有关:
javascript - 如何根据与 Angular JS 中的下拉值的比较来更新文本字段值?
嗨,我是 Angular JS 的新手。我有一个 HTML 文件,它有一个下拉列表和一个文本区域。文本区域值将根据选定的下拉值更新。请注意:textarea 不会显示用户在下拉菜单中选择的相同值。它将根据下拉列表的值显示一些其他值。
下面是我的 HTML 代码片段。Dropdown 的值来自我在控制器中进行休息调用后得到的后端:
我从后端得到的响应是这样的 XML 格式:
在下拉列表中,我正在显示“menuName”,正如您在 XML 响应中看到的那样。在 textarea 中,我需要显示相应的任务列表。我在 HTML 代码中使用了“ng-model”,但这给出了所选菜单的值。但我需要得到相应的任务值。我们应该怎么做。请帮忙。
javascript - 如何在 Angular JS 中的 HTTP 获取 URL 中附加动态查询参数?
我是角度 JS 的新手。我有一个控制器(.js 文件),我在其中编写了一个函数来对后端进行 http get 调用。如下所示:
现在的问题是我需要向我在上面代码片段中提到的 url 添加两个查询参数,以便最终 URL 看起来像这样:
这个 param1 和 param2 值是从我的 HTML 文件的输入文本框中获得的。知道我们如何将动态查询参数附加到此 URL 吗?