小编Sau*_*abh的帖子

Vue.js改变道具

我对如何更改组件内的属性感到有点困惑,假设我有以下组件:

{
    props: {
        visible: {
            type: Boolean,
            default: true
        }
    },
    methods: {
         hide() {
              this.visible = false;
         }
    }
} 
Run Code Online (Sandbox Code Playgroud)

虽然它有效,但会发出以下警告:

避免直接改变道具,因为只要父组件重新渲染,该值就会被覆盖.而是根据prop的值使用数据或计算属性.Prop变异:"可见"(在组件中找到)

现在我想知道处理这个问题的最佳方法是什么,显然visible在DOM中创建组件时传入了属性:<Foo :visible="false"></Foo>

javascript vue.js vue-component

23
推荐指数
4
解决办法
5万
查看次数

两台Linux机器之间的Telnet文件传输

我想从一台Linux机器发送一个文件,假设"192.168.2.25"到其他Linux机器,这是一台服务器"192.168.2.110"

我怎么能通过使用Telnet命令来做到这一点?

linux telnet file-transfer

21
推荐指数
3
解决办法
6万
查看次数

凤凰:渲染其他文件夹的模板

我的web/templates文件夹中有两个模板文件夹:

> ls web/templates
personal_info       user
Run Code Online (Sandbox Code Playgroud)

我想要的是user在另一个视图中从文件夹渲染一些模板personal_info.所以我在路径上有一个文件:web/templates/personal_info/index.html.eex,我有以下内容:

<%= render "user/xyz.html" %>
Run Code Online (Sandbox Code Playgroud)

但我得到以下错误:

[error] #PID<0.821.0> running MyApp.Endpoint terminated
Server: localhost:4000 (http)
Request: GET /
** (exit) an exception was raised:
    ** (Phoenix.Template.UndefinedError) Could not render "user/xyz.html" for MyApp.PersonalInfoView, please define a matching clause for render/1 or define a template at "web/templates/personal_info". The following templates were compiled:

* index.html
Run Code Online (Sandbox Code Playgroud)

请告诉我如何渲染在其他文件夹中定义的模板,我尝试了几个排列,但没有一个工作.

templates elixir web-deployment phoenix-framework

20
推荐指数
1
解决办法
5988
查看次数

在vuejs 2.0.0中选择的占位符

我正在使用vuejs 2.0创建一个webapp .我使用以下代码创建了简单的选择输入:

  <select v-model="age">
    <option value="" disabled selected hidden>Select Age</option>
    <option value="1"> 1 Year</option>
    <option value="11"> 11 Year</option>
  </select>
Run Code Online (Sandbox Code Playgroud)

我在data我的Vue组件中有这个:

data () {
  return {
    age: "",
  }
},
watch: {      
  age: function (newAge) {
    console.log("log here")
  }
Run Code Online (Sandbox Code Playgroud)

但是当我为select添加默认值时,我开始收到此错误:

错误在./~/vue-loader/lib/template-compiler.js?id=data-v-5cf0d7e0!./~/vue-loader/lib/selector.js?type=template&index=0!./src/ components/cde.vue模板语法错误:使用v-model时将忽略内联选定的属性.而是在组件的数据选项中声明初始值.

@ ./src/components/cde.vue 10:23-151

@ ./~/babel-loader!./~/vue-loader/lib/selector.js?type = script&index = 0!./ src/views/abcView.vue @ ./src/views/abcView.vue

@ ./src/router/index.js

@ ./src/app.js

@ ./src/client-entry.js

@多app

我也试图在组件的数据部分给出默认值,但后来什么也没发生.我v-bind也试过,但后来观察者停止了年龄变量的研究.

javascript select vue.js vuejs2

18
推荐指数
4
解决办法
1万
查看次数

vue.js:如何处理同一元素上的click和dblclick事件

我有一个vue组件,其中包含click/dblclik的单独事件.单击(de)选择行,dblclick打开编辑表单.

<ul class="data_row"
  v-for="(row,index) in gridData"
  @dblclick="showEditForm(row,$event)"
  @click="rowSelect(row,$event)"
>
Run Code Online (Sandbox Code Playgroud)

这样做,我点击双击就发了3个事件.两次点击事件,最后一次是dblclick.由于点击事件首先触发,是否有一种方法(短暂的推迟点击事件的固定数量的ms),以便在双击时停止点击事件的传播?

在这里小提琴

javascript vue.js

17
推荐指数
5
解决办法
2万
查看次数

如何在Vue 2中的组件中添加和删除项目中的项目

我创建了一个包含三个元素的组件"my-item":一个下拉列表(由"itemList"填充)和从下拉列表中填充的两个输入框.该组件被认为是一行.

我试图一次添加和删除一行,但我不确定两件事.(1)要添加到行数组中的内容?(2)为什么this.rows.splice(index,1)只删除最后一行?

https://jsbin.com/mugunum/edit?html,output

谢谢

<div id="app">
    <my-item v-for="(row, index) in rows"
         :itemdata="itemList"
          v-on:remove="removeRow(index)">
    </my-item>
<div>
    <button @click="addRow"> Add Row </button>
</div>
</div>

<template id="item-template">
<div>
    <select v-model="selected">
        <option v-for="item in itemdata"  :value="item">
           {{ item.code }}
        </option>
    </select>
    <input type="text" placeholder="Text" v-model="selected.description">
    <input type="text" placeholder="value" v-model="selected.unitprice">
    <button v-on:click= "remove"> X </button>
</div>
</template>

Vue.component('my-item', {
props: ['itemdata'],
template: '#item-template',
data: function () {
    return {
    selected: this.itemdata[0]
    }
},
methods: {
    remove() {
        this.$emit('remove');
    }
}
}),

new Vue({
el: "#app", …
Run Code Online (Sandbox Code Playgroud)

arrays vue.js vuejs2

17
推荐指数
2
解决办法
7万
查看次数

undefined函数:MyApp.Addict.Controller.init/1

我在凤凰城使用addict:1.0.3,我已经按照README指南在我的应用程序中使用登录.当我打电话登录时,我收到以下错误:

[error] #PID<0.2576.0> running MyApp.Endpoint terminated
Server: localhost:4000 (http)
Request: POST /login
** (exit) an exception was raised:
** (UndefinedFunctionError) undefined function: MyApp.Addict.Controller.init/1 (module MyApp.Addict.Controller is not available)
MyApp.Addict.Controller.init(:login)
(my_app) web/router.ex:1: anonymous fn/1 in MyApp.Router.match/4
(my_app) lib/phoenix/router.ex:255: MyApp.Router.dispatch/2
(my_app) web/router.ex:1: MyApp.Router.do_call/2
(my_app) lib/my_app/endpoint.ex:1: MyApp.Endpoint.phoenix_pipeline/1
(my_app) lib/plug/debugger.ex:90: MyApp.Endpoint."call (overridable 3)"/2
(my_app) lib/phoenix/endpoint/render_errors.ex:34: MyApp.Endpoint.call/2
(plug) lib/plug/adapters/cowboy/handler.ex:15: Plug.Adapters.Cowboy.Handler.upgrade/4
(cowboy) src/cowboy_protocol.erl:442: :cowboy_protocol.execute/4
Run Code Online (Sandbox Code Playgroud)

authentication elixir phoenix-framework

16
推荐指数
2
解决办法
4708
查看次数

Vue单元测试错误:vuex需要在此浏览器中使用Promise polyfill

我创建使用项目vue-cli和补充vuex,并vue-router在里面.我正在尝试为它设置单元测试,但我收到了以下错误.没有Vuex,它曾经工作过.

PhantomJS 2.1.1(Mac OS X 0.0.0)错误

错误:[vuex] vuex需要在此浏览器中使用Promise polyfill.

在webpack:///~/vuex/dist/vuex.js:145:0 < - index.js:9871

以下是相关的包版本:

"babel-core": "^6.0.0",
"babel-eslint": "^7.0.0",
"babel-loader": "^6.0.0",
"vue": "^2.1.0",
"vue-router": "^2.0.3",
"vuex": "^2.0.0",
"vuex-router-sync": "^3.0.0"
"karma": "^1.3.0",
"karma-coverage": "^1.1.1",
"karma-mocha": "^1.2.0",
"karma-phantomjs-launcher": "^1.0.0",
"karma-sinon-chai": "^1.2.0",
"karma-sourcemap-loader": "^0.3.7",
"karma-spec-reporter": "0.0.26",
"karma-webpack": "^1.7.0",
"webpack": "^1.13.2",
"webpack-dev-middleware": "^1.8.3",
"webpack-hot-middleware": "^2.12.2",
"webpack-merge": "^0.14.1"
Run Code Online (Sandbox Code Playgroud)

以下是karma.conf.js:

// This is a karma config file. For more details see
//   http://karma-runner.github.io/0.13/config/configuration-file.html
// we are also using it with karma-webpack …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing karma-runner vue.js isparta

15
推荐指数
2
解决办法
6858
查看次数

Scala:如何使用默认值初始化对象

我想用一个例子可以更好地解释这一点

我有以下案例类

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),我可以分配默认值.

实际上,我试图避免重复默认值的定义.

无论如何,实现这样的事情最常用的方式是什么?

constructor scala default-value

14
推荐指数
1
解决办法
2万
查看次数

Phoenix日志中出现奇怪错误:运行MyApp.Endpoint已终止

我在凤凰 webapp中遇到错误,我正在开发.这是一个包含少量模型和页面的简单应用程序,其中所有模型创建表单都以多标签形式添加.

我在日志中遇到以下错误,但是在浏览器结束时工作正常.从日志中我也无法理解错误以及如何调试它.

[error] #PID<0.1603.0> running MyApp.Endpoint terminated
Server: localhost:4000 (http)
Request: GET /
** (exit) an exception was raised:
    ** (Plug.Conn.AlreadySentError) the response was already sent
        (plug) lib/plug/conn.ex:428: Plug.Conn.resp/3
        (plug) lib/plug/conn.ex:415: Plug.Conn.send_resp/3
        (my_app) web/controllers/personal_info_controller.ex:1: MyApp.PersonalInfoController.phoenix_controller_pipeline/2
        (my_app) lib/phoenix/router.ex:265: MyApp.Router.dispatch/2
        (my_app) web/router.ex:1: MyApp.Router.do_call/2
        (my_app) lib/my_app/endpoint.ex:1: MyApp.Endpoint.phoenix_pipeline/1
        (my_app) lib/plug/debugger.ex:90: MyApp.Endpoint."call (overridable 3)"/2
        (my_app) lib/phoenix/endpoint/render_errors.ex:34: MyApp.Endpoint.call/2
        (plug) lib/plug/adapters/cowboy/handler.ex:15: Plug.Adapters.Cowboy.Handler.upgrade/4
        (cowboy) src/cowboy_protocol.erl:442: :cowboy_protocol.execute/4
Run Code Online (Sandbox Code Playgroud)

elixir web phoenix-framework

14
推荐指数
2
解决办法
2458
查看次数