编辑:请参阅下面关于向 Vue 模板添加元素的评论
今天再次编辑:好的,这实际上是导致this.$navigateTo
停止工作的原因......如果我导入一个服务以对 Friends.vue 中的一个休息 api 进行 http 调用以获取 mount() 事件中的数据,这会this.$navigateTo
导致从调用 Home.vue 停止工作。谁能建议为什么?
这是在 Friends.vue 中...
mounted() {
console.log(`${this.codeFile}: mounted() fired`);
httpService.getAllFriends((data, err) => {
this.friends = data;
if (err) {
console.error(
`${this.codeFile}: mounted: getAllFriends: `,
err
);
}
});
},
我真的觉得我的代码看起来像文档,但我this.$navigateTo(Friends)
什么也没做。我可以看到console.log
消息很好,但页面没有改变。我在文档中没有看到什么?
<template>
<Page class="page">
<ActionBar class="action-bar" title="Home"></ActionBar>
<ScrollView>
<StackLayout backgroundColor="#3c495e">
<Label
text="Friends"
@tap="gotoFriendsPage()"
height="70"
backgroundColor="#43b883"
/>
<Label text="Places" height="70" backgroundColor="#289062"/>
<Label text="Messages" height="70" backgroundColor="#1c6b48"/>
</StackLayout>
</ScrollView>
</Page>
</template>
<script>
import Friends from "./Friends";
export default {
data() {
return {
codeFile: "Home.vue",
friendsPage: Friends
};
},
created() {
//console.log(`${this.codeFile}: created() fired`);
},
mounted() {
//console.log(`${this.codeFile}: mounted() fired`);
},
computed: {},
methods: {
gotoFriendsPage: function() {
console.log(`${this.codeFile}: gotoFriendsPage fired`);
this.$navigateTo(Friends);
}
}
};
</script>
<style scoped lang="scss">
// Start custom common variables
@import "../_app-variables.scss";
// End custom common variables
// Custom styles
.action-bar {
background-color: $blue-dark;
color: $blue-light;
}
.body {
color: gray;
}
.fa {
color: $accent-dark;
font-size: 16;
}
.col-text {
text-align: left;
margin-bottom: 3;
padding: 5;
}
.col-title {
text-align: left;
margin-bottom: 0;
padding: 5;
padding-bottom: 0;
font-weight: bold;
}
.info {
font-size: 20;
}
</style>
编辑:添加 app.js
import Vue from "nativescript-vue";
import Home from "./components/Home";
const template = `
<Frame>
<Home />
</Frame>
`;
new Vue({
template: template,
components: {
Home
},
mounted: function () {
//console.log('app.js mounted fired...');
},
created: function () {
//console.log('app.js created fired...');
}
}).$start();