小编Raz*_*nar的帖子

Vue.js - 更新的数组项值不会在页面中更新

"test"是我的vue数据中的一个对象数组

var vue = new Vue({
  el: '#content',

  data: {
    test: [
      {
        array: [0, 0, 0, 0]
      },
      {
        array: [0, 0, 0, 0]
      }
    ],
    number: 0
  },

  methods: {   
    setNumber: function(){
      this.number = 5;
    },

    setArray: function(){
      this.test[0].array[0] = 9;
    }
  }
})
Run Code Online (Sandbox Code Playgroud)

问题是,如果我更改"数组"中元素的值,而日志显示该值已更改,则它不会在页面上更新.另一方面,如果我改变"数字"的值,则页面上的"数字"和"数组"值都会更新.

<section id="content">
  <div>Value in array: {{ test[0].array[0] }}</div>
  <div>Value in number: {{ number }}</div>
  <!-- {{ setNumber() }} -->
  {{ setArray() }}
</section>

<!-- Loading Vue.js -->
<script src="https://unpkg.com/vue"></script>
<script src="https://cdn.jsdelivr.net/vue.resource/1.3.1/vue-resource.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

如何使我的页面响应"阵列"更新?
这是JsFiddle: …

javascript arrays data-binding vue.js virtual-dom

11
推荐指数
2
解决办法
7021
查看次数

避免在Vue.js中对变量进行数据绑定

我有一个简单的表格要求用户名和密码.这些是我的Vue.js数据

  data: {
    app_images:[
      { app: '../assets/img/logos/logo.png' }
    ],
    json_repository:[],
    user: {
      username: null,
      password: null
    },
    submitted: null
  }
Run Code Online (Sandbox Code Playgroud)

表单中的用户名和密码字段绑定到user.username和user.password.按下登录按钮执行doLogin功能

methods: {
  doLogin: function() {
    this.submitted = this.user;
},
Run Code Online (Sandbox Code Playgroud)

问题是,从这一刻起,表单中的每个编辑也会更改"提交"字段中的值,我想避免这种情况

javascript forms data-binding binding vue.js

3
推荐指数
1
解决办法
1476
查看次数

如何使Ecto.changeset validate_required接受空白值?

我要做的是将一个空字符串作为字段的值传递,并验证它是否为nil.问题是validate_required会在nil和空值上引发错误.如何让它接受空白值?

模式

  schema "messages" do
    field :user_id, :string
    field :text, :string

    timestamps()
  end
Run Code Online (Sandbox Code Playgroud)

变更

  def changeset(struct, params \\ %{}) do
    struct
    |> cast(params, [:text, :user_id])
    |> validate_required([:text, :user_id])
  end
Run Code Online (Sandbox Code Playgroud)

erlang elixir changeset ecto phoenix-framework

3
推荐指数
1
解决办法
1327
查看次数

无法读取vue.js中"未定义"的属性

这是我的vue实例:

var vue = new Vue({
  el: '#vue-wrapper',
  data: {
    items: [],
}})
Run Code Online (Sandbox Code Playgroud)

这是我的index.html.eex中的v-for循环

<div v-for="item in items[0].subItems">{{item.name}}</div>
Run Code Online (Sandbox Code Playgroud)

这是我在文档就绪时填充项目的脚本,在我的Phoenix服务器渲染过程中传递数据.

<script type="text/javascript">
      jQuery(document).ready(function() {
      //Assign server-side parameters
      vue.items = <%= raw(@items) %>;
      console.log(vue.items);
    });
</script>
Run Code Online (Sandbox Code Playgroud)

日志功能显示我想要的项目的正确列表.问题是我无法在v-for循环中访问它们,我得到:

vue.min.js:6 TypeError: Cannot read property 'subItems' of undefined
Run Code Online (Sandbox Code Playgroud)

我无法访问第一个元素,就像仍未填充项目一样.我怎样才能做到这一点?我被迫在index.html.eex文件中初始化它,因为我需要eex语法来检索从服务器传递的数据.

javascript vue.js phoenix-framework v-for

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

在没有v模型且没有数据绑定的情况下为输入分配值

在我的v-for中,我需要使用一些文本初始化一些输入字段,而无需将其绑定到对象。目前我正在尝试:

<div v-for="item in allItems">
  <input type="text" class="header-title" value="item.name"></input>
</div>
Run Code Online (Sandbox Code Playgroud)

但是item.name会打印在输入中,而不是项目名称。如何做到这一点?

data-binding vue.js vuejs2

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

Phoenix:未找到路由的默认路径

让我们看一下基本的路由器:

...
scope "/", Backend do
  pipe_through [:browser, :with_session]

  get "/", PageController, :index
end
...
Run Code Online (Sandbox Code Playgroud)

调用http://localhost:4000/login会引发默认的“Phoenix.Router.NoRouteError”。处理这种情况的最佳方法是什么?离开默认的 Phoenix 错误页面?重定向到索引页?未找到重定向到自定义页面?

如何将任何未知路由重定向到单个路径?

redirect router elixir phoenix-framework

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