created() { var map = new Map(); //获取传递过来的参数 var url = location.search; if (url.indexOf("?") != -1) { var str = url.substr(1); var strs = str.split("&"); for (let str1 of strs) { var str2 = str1.split("="); map.set(str2[0], str2[1]); } } var tno = map.get("tno"); var cno = map.get("cno"); this.cno = cno; this.tno = tno; this.map = map; this.findPage(map); },
时间: 2023-06-23 09:09:18 浏览: 40
这段代码是Vue.js中的created()生命周期钩子函数,用于在实例创建完成后执行一些初始化操作。在这里,它首先创建了一个Map对象,用于存储传递过来的参数。然后通过location.search获取当前页面URL中的参数部分,并将其解析为键值对的形式存储到Map对象中。最后,它将获取到的参数值分别赋值给实例的cno和tno属性,并调用findPage()方法进行页面查找操作。
相关问题
map.on('draw:created', function (e) { var type = e.layerType, layer = e.layer; // 将图形添加到地图上 drawnItems.addLayer(layer); // 获取图形的id并返回给调用者 var id = layer._leaflet_id; return id; }); 这样并无法取到id的值,请问还有其他方法吗
在Leaflet中,图层的id属性默认是没有设置的。如果需要为图层设置id,可以使用`L.stamp(layer)`方法。
例如,你可以在`draw:created`事件回调函数中使用以下代码来设置图层id:
```
map.on('draw:created', function (e) {
var type = e.layerType,
layer = e.layer;
// 为图层设置id
var id = L.stamp(layer);
layer._leaflet_id = id;
// 将图形添加到地图上
drawnItems.addLayer(layer);
// 返回图层id
return id;
});
```
这样就可以通过`layer._leaflet_id`属性来获取图层id了。
created(){ const queryString = window.location.search; const urlParams = new URLSearchParams(queryString); const code = urlParams.get('code'); userLogin3({ params: { code: code } }).then((res) => { alert(code) console.log(res) }); }, mounted() { this.name = window.name; // 获取请求域中的name属性值 alert(this.name) this.avatarUrl = window.avatar_url; // 获取请求域中的imageUrl属性值 }为啥我这样写,弹窗限制性的是mounted中的
根据你提供的代码,弹窗限制性的原因可能是因为`mounted()`函数在页面渲染完成后才会执行,而`created()`函数在实例创建后立即执行。所以在`mounted()`函数中,`this.name`和`this.avatarUrl`可能还没有被赋值,导致弹窗中显示的是`undefined`。而在`created()`函数中,`code`已经被赋值,所以弹窗中显示的是`code`的值。
如果你想在`mounted()`函数中弹出正确的值,可以使用`this.$nextTick()`方法,在页面渲染完成后再执行弹窗操作。例如:
```
mounted() {
this.name = window.name;
this.avatarUrl = window.avatar_url;
this.$nextTick(() => {
alert(this.name);
});
}
```
这样就可以确保在页面渲染完成后再弹出正确的值。