我试图在角4视图中显示两个JSON对象的差异,我正在使用这个库(角目标差),它最初是为AngularJS构建的。
该库的演示:链接
我试图通过以下方式导入这个JS库:
我试图导入的JS文件:angular-object-diff.js,没有导出变量
在我的typings.d.ts中(我添加了以下内容):
declare var ObjectDiff: any;在角-cli.json中,我添加了
"scripts": [
"../node_modules/angular-object-diff/dist/angular-object-diff.js"
],在我的组件文件中:
const json1 = {
name: 'John'
};
const json2 = {
name: 'Johnny'
};
const diff = ObjectDiff.diffOwnProperties(json1, json2);
this.jsonViewData = ObjectDiff.toJsonDiffView(diff);我认为:
<pre ng-bind-html="jsonViewData"></pre>
<pre> {{jsonViewData}}</pre>什么都不起作用,我发现控制台“”中没有定义"ObjectDiff“
如果我做错了什么,谁能告诉我吗?还欢迎关于显示JSON差异的建议:)
**谢谢
发布于 2017-09-27 20:14:06
图书馆什么也不出口。它使用IIFE不污染全局范围的局部变量。从外部访问局部变量是不可能的,这使得Module模式非常有效(而且很烦人)。
库使用AngularJS angular全局,并期望它将存在。这造成了一个问题,因为在这种情况下,角4应用程序应该模拟angular全局。此外,代码本身依赖于特定于AngularJS的单元($sce服务)。
图书馆应该进行分叉和改造,以满足人们的期望。应该删除对angular的提及。考虑到脚本将在模块范围内执行,应该删除IIFE并添加适当的导出。
https://stackoverflow.com/questions/46455968
复制相似问题