【发布时间】:2015-10-20 23:11:04
【问题描述】:
我目前正在努力思考如何扩展 vuejs 实例。具体来说,我想分离一个实例,以便我可以重用实例的基础(元素和数据)。我目前有不同的(laravel/blade)视图来添加和编辑项目(域),我想在这两者之间共享一个 vuejs 实例,但我不想在两个地方有相同的代码(基础)。
基本上,我要搜索的内容如下:
<script type="text/javascript">
var vue = new Vue({
el: '#domain',
data: {
form: {
'name' : '',
'git_repo' : '',
'auto_deploy' : '',
'create_db' : ''
},
ajaxResponse : ''
}
});
</script>
<script type="text/javascript">
Vue.extend('domain_methods', {
methods: {
postDomain: function () {
this.$http.post('{{ route('domain.store') }}', function (data, status, request) {
this.$set('ajaxResponse', data);
}, {
data: this.form
} ).error(function (data, status, request) {
this.$set('ajaxResponse', data);
});
}
}
});
</script>
但这显然行不通。我只想在#domain 元素中使用 postDomain() 方法,而不是在初始创建实例时编写该方法。
提前致谢!
【问题讨论】:
-
如果要复用组件,最好使用mixins。 http://vuejs.org/guide/extending.html
标签: vue.js