"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: …
我有一个简单的表格要求用户名和密码.这些是我的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)
问题是,从这一刻起,表单中的每个编辑也会更改"提交"字段中的值,我想避免这种情况
我要做的是将一个空字符串作为字段的值传递,并验证它是否为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) 这是我的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语法来检索从服务器传递的数据.
在我的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会打印在输入中,而不是项目名称。如何做到这一点?
让我们看一下基本的路由器:
...
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 错误页面?重定向到索引页?未找到重定向到自定义页面?
如何将任何未知路由重定向到单个路径?
vue.js ×4
data-binding ×3
javascript ×3
elixir ×2
arrays ×1
binding ×1
changeset ×1
ecto ×1
erlang ×1
forms ×1
redirect ×1
router ×1
v-for ×1
virtual-dom ×1
vuejs2 ×1