我有一个问题。
我发布了一个带有http帖子的类别ID。 status返回的数据为true。我想从后面返回值count变量。但是伯爵不会回去。返回功能不起作用。函数中的值不会从外部返回。
category-index - >图
<td>{{category.id | count}}</td>
控制器文件
/**
* @Access(admin=true)
* @Route(methods="POST")
* @Request({"id": "integer"}, csrf=true)
*/
public function countAction($id){
return ['status' => 'yes'];
}
Vue文件
filters: {
count: function(data){
var count = '';
this.$http.post('/admin/api/dpnblog/category/count' , {id:data} , function(success){
count = success.status;
}).catch(function(error){
console.log('error')
})
return count;
}
}
但不能正常工作:(
谢谢你们。
答案 0 :(得分:1)
注意:由于您使用<td>
,因此暗示您拥有完整的表格;您可能需要考虑一次性将它们全部减少以减少后端呼叫的数量。
过滤器适用于简单的就地字符串修改,如格式化等。 考虑使用一种方法来获取它。
模板
<td>{{ categoryCount }}</td>
脚本
data() {
return {
categoryCount: ''
}
},
created() {
this.categoryCount = this.fetchCategoryCount()
},
methods: {
async fetchCategoryCount() {
try {
const response = await this.$http.post('/admin/api/dpnblog/category/count', {id: this.category.id})
return response.status;
} catch(error) {
console.error('error')
}
}
}
答案 1 :(得分:0)
视图
<td>{{count}}</td>
VUE
data() {
return {
count: '',
}
},
mounted() {
// or in any other Controller, and set your id this function
this.countFunc()
},
methods: {
countFunc: function(data) {
this.$http
.post('/admin/api/dpnblog/category/count', { id: data }, function(
success,
) {
// update view
this.count = success.status
})
.catch(function(error) {
console.log('error')
})
},
},