从Angular2升级到Angular4后,我在CLI中遇到这些错误.虽然升级后我的应用程序仍在运行,但我只是想知道如何解决这些错误.有任何想法吗?
升级前的Package.json:
{
"name": "myapp",
"version": "0.0.0",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/common": "^2.4.0",
"@angular/compiler": "^2.4.0",
"@angular/core": "^2.4.0",
"@angular/forms": "^2.4.0",
"@angular/http": "^2.4.0",
"@angular/platform-browser": "^2.4.0",
"@angular/platform-browser-dynamic": "^2.4.0",
"@angular/router": "^3.4.0",
"core-js": "^2.4.1",
"foundation-sites": "^6.3.1",
"ng2-translate": "^5.0.0",
"rxjs": "^5.1.0",
"zone.js": "^0.7.6"
},
"devDependencies": {
"@angular/cli": "1.0.0-rc.1",
"@angular/compiler-cli": "^2.4.0",
"@types/jasmine": "2.5.38",
"@types/node": "~6.0.60",
"codelyzer": "~2.0.0",
"jasmine-core": "~2.5.2",
"jasmine-spec-reporter": "~3.2.0",
"karma": "~1.4.1",
"karma-chrome-launcher": "~2.0.0", …Run Code Online (Sandbox Code Playgroud) 我正在使用angular cli建立一个包含多种语言的网站。我使用ng2-translate进行翻译。
我导入在angular-cli.json中定义的languages.json文件:
"assets": [
"assets",
"fonts",
"languages.json"
],
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,我使用require检索数据:
this.languages = require('../../../../languages.json');
Run Code Online (Sandbox Code Playgroud)
加载json文件有效。部署后,我尝试更改(添加或删除)languages.json中的某些语言,但是即使json文件在dist中更新,更改也不会显示在网站上。我可以更新网站的唯一方法是更改原始json文件,再构建应用程序的另一个版本并再次部署。是否可以通过仅更新dist中的json文件来更改网站?
为了澄清起见,languages.json包含一个语言代码数组,用于定义网站的语言选择器中显示的语言。我希望使用此配置来更改网站中显示的语言,而无需重建应用程序。
这是我的package.json:
{
"name": "myApp",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"dev": "ng serve --environment=dev",
"acc": "ng serve --environment=acc",
"prod": "ng serve --environment=prod",
"build:dev": "ng build --environment=dev",
"build:acc": "ng build --environment=acc",
"build:prod": "ng build --environment=prod",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "^4.0.2",
"@angular/common": "^4.0.0",
"@angular/compiler": "^4.0.0",
"@angular/compiler-cli": "^4.0.0",
"@angular/core": …Run Code Online (Sandbox Code Playgroud) 我正在尝试为angular orderBy指令实现自定义比较器.正如您在代码片段中看到的那样,自定义比较器被忽略(没有从console.log记录),即使它应该根据orderBy的角度文档工作
angular.module('orderByExample', [])
.controller('ExampleController', ['$scope', function($scope) {
$scope.files = [
{name: 'File1', size: '1.2 Mb'},
{name: 'File2', size: '2.4 Kb'},
{name: 'File3', size: '241 Bytes'},
{name: 'File4', size: '2.0 Mb'},
{name: 'File5', size: '16.1 Kb'}
];
$scope.fileSizeComparator = function(s1, s2) {
// split the size string in nummeric and alphabetic parts
console.log(s1);
console.log(s2);
var s1Splitted = s1.size.split(" ");
var s2Splitted = s2.size.split(" ");
if (s1Splitted[1] === s2Splitted[1]) {
// if size type is the same, compare …Run Code Online (Sandbox Code Playgroud)pdf当我单击“create-pdf”图标时,我想在我的文件中添加 2 张图像。第一张图像是转换为图像的画布,并且它可以正常工作。
var canvas = document.getElementsByClassName("jade-schematic-diagram");
img = canvas[0].toDataURL("image/png");
img.id="pic2";
doc = new jsPDF({
unit:'px',
format:'a4'
});
doc.addImage(img, 'JPEG', 20, 20,400,150);
Run Code Online (Sandbox Code Playgroud)
我的这部分代码出现此错误:
错误:PNG 文件不完整或损坏
var srcpath;
var element = $(".plot-waveforms"); // global variable
var imgageData = new Image();
imgageData.id = "pic";
html2canvas(element, {
onrendered: function (canvas) {
srcpath = canvas.toDataURL("image/png");
}
});
imgageData.src=srcpath;
doc.addImage(imgageData , 'PNG', 20, 20,400,150);
Run Code Online (Sandbox Code Playgroud)
我将这些脚本添加到我的 html head 标签中。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript" src="//cdn.rawgit.com/niklasvh/html2canvas/0.5.0-alpha2/dist/html2canvas.min.js"></script>
<script type="text/javascript" src="//cdn.rawgit.com/MrRio/jsPDF/master/dist/jspdf.min.js"></script>
<script type="text/javascript" src="zlib.js"></script>
<script type="text/javascript" src="png.js"></script>
<script type="text/javascript" …Run Code Online (Sandbox Code Playgroud) 我使用onSaveInstanceState方法来存储和检索片段内的局部变量.我的一个片段中有以下代码(简化):
private final SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy - HH:mm");
private Date myDate;
public Date getDate() { return myDate; }
public void setDate(Date date) { this.myDate = date; }
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.main, container, false);
TextView tvDate = (TextView) rootView.findViewById(R.id.textview_date);
if (savedInstanceState != null) {
try {
myDate = dateFormat.parse(savedInstance.State.getString("DATE"));
catch (ParseException e) {
}
}
//myDate is being set by a different fragment using the setDate method
if (tvDate …Run Code Online (Sandbox Code Playgroud)