javascript - AlpineJS x-init 被执行两次
问题描述
下面是我的 alpineJS 模板 html
<template id="sharing" x-if="showSharing">
<div id="sharingContainer" x-data="preview()" x-init="getPreview()" >
<div style="padding-top:20px" x-show="showPreview">
<div id="previewContent"></div>
</div>
</div>
</template>
下面是我的 index.js 中的代码
function preview(){
var parent=this;
return{
showPreview:false,
showPicker:false,
getPreview:function() {
console.log("inside get Preview");
var self=this;
chrome.tabs.query({ active: true, lastFocusedWindow: true }, function(tabs){
let url =self.suggestUrl= tabs[0].url;
console.log(url);
this.setPreviewData(url);
});
},
setPreviewData:function(data){
var self=this;
document.getElementById('container').__x.$data.isLoading = false;
document.getElementById('sharingContainer').__x.$data.showPreview = true;
}
};
}
getPreview 方法被调用了两次。
我不知道为什么。请指导
谢谢施鲁蒂奈尔
解决方案
不确定这是否是 Alpine 问题,但我注意到它chrome.tabs
正在返回undefined
。当我从方法中删除该部分时,它会运行一次。
推荐阅读
- algorithm - 动态规划 - 减少工作能力的中断调度问题
- java - iOS 和 Android 上的等效加密和解密
- python - webdriver 无法更新网址
- c - c 结构的初始化,包括联合
- python - 在 Python 中结合列表和字典
- azure - 通过脚本/ARM 模板将诊断日志设置添加到 Azure 数据工厂
- php - Laravel Breeze 和 Spatie 权限在用户注册时设置角色
- python - 使用 python-fu 将 GIMP 图片导出为 png 未正确显示
- python - 如何在 Python 3.7 中编码字符串数据(转换为字节)
- javascript - 方法不是函数猫鼬方法问题