【问题标题】:How to update a variable from external javascript file in Angular/Typescript如何从 Angular/Typescript 中的外部 javascript 文件更新变量
【发布时间】:2019-09-10 21:16:39
【问题描述】:

我需要从 Angular 项目更新外部 javascript 文件中的变量

首先我在我的 Angular 组件中导入变量,然后我尝试更新它,但我不知道该怎么做

我的 Angular 组件的小例子:

import { Component } from '@angular/core';
import { externalText } from './external.js';

...


export class AppComponent  {
  myText = externalText;

  changeText() {

    // This works, but I need to update the variable from external file directly
    this.myText = 'Text updated'

    // I need something like this 
    // externalText = 'Text updated'
  }
}

我用一个例子创建了这个 Stackblitz:

https://stackblitz.com/edit/angular-hczxhh

预期:能够从我的 Angular 组件更新 Javascript 文件中的信息

【问题讨论】:

  • 请在问题本身中提供minimal reproducible example 作为代码。如果/当链接失效时,这个问题对未来的读者将变得毫无用处。
  • 您不能使用客户端脚本保存在文件中,您必须使用一些服务器端脚本,如PHP, NodeJS,.NET 等来保存文件中的内容。
  • 我用描述中的一些代码更新了它
  • @Jgascona 不,你需要一些使用 ts or js 的服务器端代码,但你不能这样做
  • @Jgascona,我认为你不能这样做。如果我是你,构建一个服务来从你的 external.js 或会话缓存中读取属性。如果您没有任何缓存,则从 external.js 读取它们。如果要更新值,请更改缓存值。

标签: javascript angular typescript


【解决方案1】:

最后,我刚刚在我的 .js 文件中创建了一个函数,它用 angular 提供的内容覆盖了这个变量。然后我导出了这个函数,以便在 Angular 组件中使用它。

Javascript 文件:

export function updateText(myText) {
  externalText = myText
}

角度组件:

import { externalText, updateText } from './external.js';

export class AppComponent  {
  myText = externalText;

  changeText() {
    updateText('Problem solved')
  }
}

非常感谢大家的回答。

【讨论】:

    猜你喜欢
    • 2021-05-10
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 2018-03-19
    相关资源
    最近更新 更多