开发者问题收集

如何在 Vue 中注入一些字符串并对其进行评估?

2022-10-11
239

在 SPA 中使用选项 API,如何(在哪里)定义将从 html href 调用的函数?

在下面的 codepen 中演示,一切正常。

CODEPEN

但是,在我的单个页面上:

    <template>
        <div v-html="my_div" />
    </template>
    
    <script>
    /* function MyFunction() {
      alert();
    }; */
    
    const MyFunction = () => {
      alert();
    };

   /* Just for explanation, because the data comes from the database
   export default {
    data() {
      return {
        my_div:'<a href="javascript:MyFunction(10)">link call function</a> ',
      }
    }
  */
}
    </script>

调用该函数返回错误:

Uncaught ReferenceError: MyFunction is not defined

显然,该函数是在调用之后定义的

有什么想法可以解决这个问题吗?

1个回答

不确定您在这里想做什么,但不要将不知从何而来的随机字符串评估为奇怪的格式。它不会起作用,会很笨重,无法调试。

如果您的代码库是遗留的并且有很多债务,请重新实现它或使用 jQuery 或其他任何东西来进一步破解它。

kissu
2022-10-11