【问题标题】:Javascript functions cannot be exported无法导出 Javascript 函数
【发布时间】:2019-08-31 03:27:42
【问题描述】:

打字稿

import { Component, OnInit } from '@angular/core';
import {loadCalendar} from '../../../../scripts/artist/artist-home';
import {activate_searchBar} from 
'../../../../scripts/search_bar_activate';
@Component({
 selector: 'app-artist-home',
 templateUrl: './artist-home.component.html',
 styleUrls: ['./artist-home.component.scss']
  })
export class ArtistHomeComponent implements OnInit {

constructor() { }

ngOnInit() {
loadCalendar();
activate_searchBar()
 }

 }

JavaScript

  export function deactivate_searchBar(){

  $('#search_box').attr('disabled','disabled');
  $('#search_button').attr('disabled','disabled')
  }

  export function activate_searchBar(){
  $('#search_box').removeAttr('disabled');
  $('#search_button').removeAttr('disabled')
   }

angular.json

          "scripts": [

          "node_modules/jquery/dist/jquery.js",
          "node_modules/popper.js/dist/umd/popper.js",
          "node_modules/bootstrap-material-design/dist/js/bootstrap- 
           material-design.min.js",
          "node_modules/arrive/src/arrive.js",
          "node_modules/moment/moment.js",
          "node_modules/perfect-scrollbar/dist/perfect-scrollbar.min.js",
          "node_modules/bootstrap-notify/bootstrap-notify.js",
          "node_modules/chartist/dist/chartist.js",
          "node_modules/jquery/dist/jquery.min.js",
          "node_modules/popper.js/dist/umd/popper.min.js",
          "node_modules/bootstrap/dist/js/bootstrap.min.js",
          "src/scripts/side_bar.js",
          "src/scripts/search_bar_activate.js",
          "src/scripts/rating_system.js",
          "src/scripts/image_uploader.js",
          "src/scripts/state_data.js",
          "src/scripts/redirect_to.js",
          "src/scripts/drop_down_nav.js"
        ]

我应该如何从 javascript 中导出函数?

期望调用 activate_searchBar() 函数。但是控制台显示错误

“未捕获的语法错误:意外的令牌导出”

【问题讨论】:

标签: javascript angular


【解决方案1】:

你可以像下面这样尝试,让我知道你的输出

  const deactivate_searchBar = () => {
     $('#search_box').attr('disabled','disabled');
     $('#search_button').attr('disabled','disabled')
     return;
  }

  const activate_searchBar = () => {
     $('#search_box').removeAttr('disabled');
     $('#search_button').removeAttr('disabled');
     return;
  }
  export default {deactivate_searchBar, activate_searchBar}




import objFn from 
'../../../../scripts/search_bar_activate'; //updated

objFn.activate_searchBar() //updated

其他函数表达式很少,

来源 - How can I export all functions from a file in JS?

export var foo = function() {
    // ...
};
export let bar = () => {
    // ...
};
export const baz = value => {
    // ...
};

【讨论】:

  • 成功了!但是 angular.json 中的其他脚本文件无法正常工作
  • 谢谢你的意思是从 '../../../../scripts/artist/artist-home' 导入 {loadCalendar};?
  • 在打字稿中导入的文件可以正常工作。但是仅包含在 angular.json 文件中的脚本不起作用。 “src/scripts/image_uploader.js”脚本不工作
  • 安装并在脚本列表中包含 'tether.js` 它将起作用 - 参考 - stackoverflow.com/questions/52968487/…
  • 它不工作。我重建项目。然后出现“TypeError: scripts.ymap is not a function”错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-28
相关资源
最近更新 更多