我想用一个例子可以更好地解释这一点
我有以下案例类
case class Person(name: String = "no name", surname: String = "no surname")
Run Code Online (Sandbox Code Playgroud)
我想制作一个通用函数来填充它,例如,json消息,可能没有指定所有字段
我知道要使用默认值,简单的答案不是将它们传递给构造函数,但如果我有几个字段可能会或可能不会出现在json中,我应该使用一个巨大的切换句子覆盖每个可能的组合缺少参数.在这种情况下,读完json之后,我应该照顾姓名和姓氏,没有姓名,没有姓,也没有名字和姓氏......(哎呀,我希望自己明白了).
更确切地说,我正在尝试开发一个函数,允许我从followgin json值创建一个人,当缺少某些参数时使用默认值
{ "name": "john", "surname": "doe" }
{ "surname": "doe" }
{ "name": "john" }
{ }
Run Code Online (Sandbox Code Playgroud)
这就是为什么我正在寻找一种更通用的方法来处理这个问题.
(我将展示一些伪代码,以便了解我想要实现的目标)
我在考虑这样的事情:
val p = Person(name= "new person name", surname= Unit)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,姓氏应该获得默认值
或类似的东西
val p = Person( Map( "name" -> "new person name" ) _* )
Run Code Online (Sandbox Code Playgroud)
因此它也采用了surname的默认值
或者也许在构造函数中执行它,如果我检测到空值(或None),我可以分配默认值.
实际上,我试图避免重复默认值的定义.
无论如何,实现这样的事情最常用的方式是什么?
我正在创建一个小的Vue webapp,我想在此创建一个锚标签.
我给了id一个div我希望有这样的锚标签:
<div id="for-home">
....
</div>
Run Code Online (Sandbox Code Playgroud)
这是我的路由器配置:
export default new Router({
abstract: true,
mode: 'history',
scrollBehavior: () => ({ y: 0 }),
routes: [
{ path: '/', component: abcView}
]
})
Run Code Online (Sandbox Code Playgroud)
但是这个锚标签有时会工作,有时候不起作用,我错过了什么吗?
小提琴:这里
我正在使用Vuex和Vuex创建一个webapp.我有一个商店,我想从getter获取状态数据,我想要的是如果getter发现数据尚未填充,它会调用dispatch并获取数据.
以下是我的Vuex商店:
const state = {
pets: []
};
const mutations = {
SET_PETS (state, response) {
state.pets = response;
}
};
const actions = {
FETCH_PETS: (state) => {
setTimeout(function() {
state.commit('SET_PETS', ['t7m12qbvb/apple_9', '6pat9znxz/1448127928_kiwi'])
}, 1000)
}
}
const getters = {
pets(state){
if(!state.pets.length){
state.dispatch("FETCH_PETS")
}
return state.pets
}
}
const store = new Vuex.Store({
state,
mutations,
actions,
getters
});
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
未捕获的TypeError:state.dispatch不是函数(...)
我知道我可以从beforeMountVue组件中做到这一点,但是我有多个组件使用相同的Vuex存储,所以我必须在其中一个组件中执行它,应该是哪个组件以及它将如何影响其他组件.
我的数据对象:
data: {
selected: {
'type': null,
'instrument': null
},
Run Code Online (Sandbox Code Playgroud)
我的模板:
<select v-model="selected['instrument']" @change="switchFilter('instrument', $event)">
<option v-for="instrument in instruments" :value="instrument.value">@{{ instrument.text }}</option>
</select>
<select v-model="selected['type']" @change="switchFilter('type', $event)">
<option v-for="type in types" :value="type.value">@{{ type.text }}</option>
</select>
Run Code Online (Sandbox Code Playgroud)
如何同时查看两个选定的索引?每当任何索引更新时,我想做类似的事情:
watch: {
selected: function(o, n) {
...
}
}
Run Code Online (Sandbox Code Playgroud) 我在3个不同的服务器上运行了7个不同的java守护进程(全部7个).java命令行有-Xmx2048m和-Xss1024k.在这3台服务器上,所有21个进程在顶部和顶部都显示不到2.5 GB的VIRT大小.根据守护进程,RES大小从300到1.9 GB不等.
这就是应有的一切.
输入新服务器.更快的CPU,更多的RAM(16 GB而不是8 GB),略微更新的java(旧服务器上为1.6.0_10-b33,新服务器上为1.6.0_31-b04).两个系统(和JVM)都是64位.
将2个守护进程移动到新服务器.在新服务器上,给定相同的任务,守护进程都消耗了大量CPU(大约是核心价值)并且做得少.(从旧系统上的5110处理器转移到新系统上的5620处理器).
几乎是CPU使用的全部额外核心(GC线程??),并为一个守护程序报告5 GB VIRT和2 GB RES,为另一个守护程序报告10.5 GB VIRT和2 GB RES.
什么会导致java忽略(或似乎忽略,如果是这种情况)内存限制的任何想法?
我正在尝试使用角度材料创建具有一些背景颜色的吐司面具.我使用这个问题的答案,我创建了这个codepen,但它也显示了一些不想要的背景toast.
HTML:
<div ng-controller="AppCtrl" layout-fill="" layout="column" class="inset toastdemoBasicUsage" ng-cloak="" ng-app="MyApp">
<p>
Toast is not properly working with theme defined in CSS.
<br>
</p>
<div layout="row" layout-sm="column" layout-align="space-around">
<md-button ng-click="showSimpleToast()">
Toast
</md-button>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
md-toast.md-success-toast-theme {
background-color: green;
}
md-toast.md-error-toast-theme {
background-color: maroon;
position: 'top right'
}
md-toast {
height: 40px;
width: 50px;
margin-left: auto;
margin-right: auto;
left: 0; right: 0;
top:10px;
}
Run Code Online (Sandbox Code Playgroud)
JS:
angular.module('MyApp',['ngMaterial', 'ngMessages'])
.controller('AppCtrl', function($scope, $mdToast, $document) {
$scope.showSimpleToast = function() {
$mdToast.show( …Run Code Online (Sandbox Code Playgroud) 对于VueJS 2.0项目,我在父组件上有以下内容
<template>
<child></child>
<button @click="$emit('childEvent)"></button>
</template>
Run Code Online (Sandbox Code Playgroud)
在我有的子组件上:
{
events: { 'childEvent' : function(){.... },
ready() { this.$on('childEvent',...) },
methods: { childEvent() {....} }
}
Run Code Online (Sandbox Code Playgroud)
按钮点击似乎没有任何效果.是否需要创建一个父方法然后发送给孩子?我正在使用vuejs 1.但现在我对父母与孩子沟通的工作方式感到困惑
我正在构建一个从数据生成pdf文件的工具,我需要构建两种格式:105mm*148mm和105mm*210mm.所以我得到了我的整个文档,现在是我插入分页符的时候了.我用一个简单的类来做:
.page-break { display: block; page-break-before: always; }
Run Code Online (Sandbox Code Playgroud)
现在我必须将这个类插入到我的v-for循环中.所以一个基本的想法是计算一个区间,就像每个索引是6的倍数,我插入一个.但这不是最好的方法,我想在内容超过90毫米时插入一个休息时间.
为了做到这一点,我想计算2个中断之间的距离,如果距离接近90毫米,则插入一个新的中断.但是,我找不到访问动态DOM元素的方法......
所以问题很简单:如何计算这个距离?或者,如果有更好的方法来实现我的目标,我还能改进什么?
尝试hbase shell在OSX中运行时出现以下错误(版本:10.11.4):
警告:-J-Dfile.encoding = UTF-8参数被忽略(在同一个VM中启动?)
警告:-J-XX:忽略MaxPermSize = 1024m参数(在同一个VM中启动?)
警告:-J-Xmx4096m参数被忽略(在同一个VM中启动?)
TypeError:无法在org/jruby/RubyKernel.java:1071中将Pathname转换为String require
需要在文件:/usr/local/Cellar/hbase/1.2.6/libexec/lib/jruby-complete-1.6.8.jar!/ META INF/jruby.home/lib/ruby/site_ruby/1.8/rubygems/custom_require .RB:36
(root)在/usr/local/Cellar/hbase/1.2.6/libexec/bin/hirb.rb:118
我通过以下方式安装了Hbase: brew install hbase
作为该解决方案给在这里,我也试图像下面设置PATH变量:
? ~ export HBASE_HOME=/usr/local/Cellar/hbase/1.2.6/libexec
? ~ export PATH=$HBASE_HOME/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
我也有jruby-complete-1.6.8.jar在$HBASE_HOME/lib,如前所述这里.但仍然会出现同样的错误.
? rvm list:
rvm rubies
ruby-2.1.2 [ x86_64 ]
ruby-2.2.0 [ x86_64 ]
=* ruby-2.2.2 [ x86_64 ]
# => - current
# =* - current && default
# * - default
? ruby -v
ruby 2.0.0p648 (2015-12-16 revision …Run Code Online (Sandbox Code Playgroud) 我有两个元素,顶部的可见性由v-if一个简单的布尔值控制.
transition(name="fade")
#element1(v-if="showFirst")
p Foo
#element2
p Bar
Run Code Online (Sandbox Code Playgroud)
第一个元素包含在<transition>标记中,完全按照Vue文档.
然而,虽然这确实创建了一个褪色动画,但页面上的其他内容仍然非常刺耳.
我怎样才能创建一个过渡,也可以顺利地改变后面任何和所有兄弟姐妹的位置?
演示此问题的小提琴.