为了账号安全,请及时绑定邮箱和手机立即绑定

请问Model里的属性是什么时候初始化的?

/ 猿问

请问Model里的属性是什么时候初始化的?

撒科打诨 2019-09-20 19:18:30

Model里的属性是什么时候初始化的?


查看完整描述

4 回答

?
牧羊人nacy

默认值,你放到 v-model里面就好。
v-model="time"
data(){
return {
time:new Date('2022-10-19')
}
}

手册里面说的 default-value,是当你聚焦,日历打开以后默认显示的时间。
比如:你把v-model去掉,然后换成 default-value
:default-value="timeDefaultShow"

data(){
return {
timeDefaultShow:new Date('2022-10-23') //在没有v-model的情况下,默认展示出来的日历时间是 23号
}
}


查看完整回答
反对 回复 2019-09-22
?
慕容森

<el-time-picker
v-model="goTime"
placeholder="选择时间范围">
</el-time-picker>
goTime: [ new Date(0, 0), new Date(0, 0)],

查看完整回答
反对 回复 2019-09-22
?
潇湘沐

@Entity 表示当前为实体类 @Id 主键 @GeneratedValue(strategy=GenerationType.UUID) 主键生成策略。 @Column 映射字段的定义,包括映射的数据库表的字段名称。是否允许为空。字段长度等等定义。

对java实体类的众多理解:

A .就是属性类,通常定义在model层里面 

B. 一般的实体类对应一个数据表,其中的属性对应数据表中的字段。

好处:

1.对对象实体的封装,体现OO思想。

2.属性可以对字段定义和状态进行判断和过滤

3.把相关信息用一个实体类封装后,我们在程序中可以把实体类作为参数传递,更加方便。

C. 说白了就是为了让程序员在对数据库操作的时候不用写SQL语句 

D. 就是一个数据库表生成一个类

这样做对数据库操作起来方便

编写代码较少 提高效率 可以使程序员专注逻辑关系 

E. 实体类就是把对某一个表的操作全写在一个类中.

F. 在Java开发中经常要定义一些实体类,这些类的定义的好坏会直接影响,编写代码的质量和难易程度,以下是别人总结的一些经验。

一、实体类的名字尽量和数据库的表的名字对应相同。

二、实体类应该实现java.io.Serializable接口。

三、实体类应该有个无参的构造方法。

四、实体类应该有个有参(所有的参数)的构造方法。

五、实体类有属性和方法,属性对应数据库中表的字段,主要有getter和setter方法。

六、实体类还应该有个属性serialVersionUID。例如:private static final long serialVersionUID = -6125297654796395674L;

七、属性一般是private类型,方法位public类型,对于数据库自动生成的ID字段对应的属性的set方法应为private。

G. 实体类中都是实例对象,实例对象在jvm的堆区中开辟了一个该对象引用空间,并且让该引用指向某个实例,类声明只是在jvm的栈去中开辟了一个该对象引用,没有让该引用做任何指向.

例如 :

1.String str;

2.String str = new String ("dgfgg");

1中的只是一个引用,说明str应该指向一个String 类型的实例,但还没对str和堆区的实例做具体的指向.也就是说它还没有指向某个实例.

而2中的即定义了一个引用(str)又对str做了具体的指向,它指向的内容就是后面new出来的String 实例.

实体类中的构造方法+set方法+get方法:

构造函数:初始化成员变量

get,set方法,获取和改变成员变量的值,JavaBean规范规定只使用get/set访问成员变量

构造函数:你每次写一个Java文件,实际上都写了一个类(创建一个类,jvm就会自动为这个类开辟一块内存空间)。有了类就需要有类对象,要产生类对象就需要构造函数对这个刚刚申请的内存空间做一点事,赋属性值之类的工作。当然,如果你不写,它就默认有一个Class(){}的构造方法出现,当然它什么活也不干。

你的属性是什么样的?public?private?默认?还是protected?这四种你找教材务必弄懂分清,很有用。如果是private,这种属性不许别的对象改和读,但有时候需要改/读,怎么办?写一个public void setAbc(xxx){}和一个public xxx getAbc(){}就实现外部读写属性的功能了。

set ,get完全是自我规定的,就是设置初值和获得值的意思.你也可以修改成其他字符.但是用set ,get还是要好些,因为你能通过单词理解你写的代码的意思,方便阅读而已。

 




查看完整回答
反对 回复 2019-09-22
?
达令说

写了近半个月的backbone.js代码,从一开始的todo到现在做仿微信的网页聊天,其中最大的困惑就在于如何处理比较复杂的Model,其内嵌了一个或者多个Collections。
假设我们有一个Person的Model,一个Person会有多个工作,那么我们将jobs这个属性设置为一个Collection:
初始化代码如下:
复制代码
var Job = Backbone.Model.extend({
});
var Jobs = Backbone.Collection.extend({
model:Job,
});
var Person = Backbone.Model.extend({
});
复制代码
下一步,给Person设置jobs的属性:
var Person = Backbone.Model.extend({
initialize:function(options){
this.set('jobs',options.jobs);
}
});
然后创建jobs的collection以及person object,将jobs赋值给person.jobs属性:
var jobs = new Jobs([{name:'PHP工程师'},{name:'设计师'},{name:'测试人员'}]);
var jimmy = new Person({jobs:jobs});
通过chrome的console看到值:
我们添加一些view,因为在backbone.js里view才是MVC里的Controller:
复制代码
var PersonView = Backbone.View.extend({
tagName:'ul',
initialize:function(){
this.render();
this.model.get('jobs').on('add',this.addFirst,this);
},
addFirst:function(job){
var jobView = new JobView({model:job});
this.$el.prepend(jobView.render().el);
},
renderOne:function(job){
var jobView = new JobView({model:job});
this.$el.append(jobView.render().el);
},
render:function(){
var jobs = this.model.get('jobs');
jobs.each(function(job){
this.renderOne(job);
},this);
$(document.body).append(this.el);
}
});
var JobView = Backbone.View.extend({
tagName:'li',
template:'<%=name%>',
initialize:function(){
this.model.on('change',this.render,this);
},
render:function(){
var template = _.template(this.template,this.model.toJSON());
this.$el.html(template);
return this;
},
});
复制代码
这里要为Job单独设置一个view是因为一个model对应一个view的'BB原则',方便在model改变的时候,view改变。
最后new PersonView:
var jimmyView = new PersonView({model:jimmy});




查看完整回答
反对 回复 2019-09-22

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信