我有以下代码:
{
data: function () {
return {
questions: [],
sendButtonDisable: false,
}
},
methods: {
postQuestionsContent: function () {
var that = this;
that.sendButtonDisable = true;
},
},
},
Run Code Online (Sandbox Code Playgroud)
调用sendButtonDisable时我需要更改为true postQuestionsContent().我发现只有一种方法可以做到这一点; 与var that = this;.
有更好的解决方案吗?
我需要hostname在每个组件中访问我的变量.
把它放进去是个好主意data吗?
我是否正确理解如果我这样做,我将能够到处调用它this.hostname?
我有下一个Vue组件.
Login作为调用登录功能.
checkAuth - 正在调用检查页面刷新之间的授权状态.
但是如何checkAuth在不按下按钮的情况下拨打电话?
var GuestMenu = Vue.extend({
props : ['username','password'],
template: `
<div id="auth">
<form class="form-inline pull-right">
<div class="form-group">
<label class="sr-only" for="UserName">User name</label>
<input type="username" v-model="username" class="form-control" id="UserName" placeholder="username">
</div>
<div class="form-group">
<label class="sr-only" for="Password">Password</label>
<input type="password" v-model="password" class="form-control" id="Password" placeholder="Password">
</div>
<button type="submit" class="btn btn-default" v-on:click.prevent="sendLoginInfo()">LOGIN</button>
<button type="submit" class="btn btn-default" v-on:click.prevent="checkAuth()">CheckAuth</button>
</form>
</div>`,
methods: { //hash key-value
sendLoginInfo : sendLoginInfo, // key (anyname) | value -> calling function name (from separate file)
//calling …Run Code Online (Sandbox Code Playgroud) data: function () {
return {
questions: []
}
},
watch: {
questions : function(val, oldVal) {
foo()
}
},
methods: {
foo() {
console.log("foo called");
}
}
Run Code Online (Sandbox Code Playgroud)
产生错误: ReferenceError: foo is not defined
我也在看例子:http://vuejs-ru.github.io/vuejs.org/api/options.html#watch
这个字符串做什么?
handler: function (val, oldVal) { /* ... */ },
handler它的关键字?或者它可以是功能?
升级到Vue 2.0时我遇到了很常见的问题
我收到警告:
避免直接改变道具,因为只要父组件重新渲染,该值就会被覆盖.而是根据prop的值使用数据或计算属性.Prop变异:"username"(在组件中找到)
我多次阅读文档,但我仍然无法理解如何修复它.
username并password在主Vue应用程序中声明.
这是我的代码:
var GuestMenu = Vue.extend({
props : ['username', 'password'],
template: `
<div id="auth">
<form class="form-inline pull-right">
<div class="form-group">
<label class="sr-only" for="UserName">User name</label>
<input type="username" v-model="username" class="form-control" id="UserName" placeholder="username">
</div>
<div class="form-group">
<label class="sr-only" for="Password">Password</label>
<input type="password" v-model="password" class="form-control" id="Password" placeholder="Password">
</div>
</form>
</div>`,
});
Run Code Online (Sandbox Code Playgroud)
App = new Vue ({
el: '#app',
data:
{
topMenuView: "guestmenu",
contentView: "guestcontent",
username: "",
password: "",
}
})
Run Code Online (Sandbox Code Playgroud)
我试过v-bind但它似乎没有用,我无法理解为什么.它应该将值绑定到父级(主Vue应用程序)
我想在节点JS之外托管我的应用程序,但我想使用.vue文件和可能的npm作为构建系统(如果需要).有可能吗?
我不需要任何向后兼容性,如果它适用于最新的Chrome开发者,它对我来说没问题.
有什么例子可以做到吗?
我尝试构建一些webpack模板,但它只在NodeJS中工作.在其他服务器上,当我访问放置在.vue文件中的URL时,我得到404 .它们似乎无法由其他服务器处理.
我需要指定多个文件扩展名,例如 pathlib.Path(temp_folder).glob('*.xls', '*.txt'):
我该怎么做?
https://docs.python.org/dev/library/pathlib.html#pathlib.Path.glob
通过文档,我不完全理解何时应该使用render: h => h(App)函数.
例如,我有一个非常简单的Vue应用程序:
import Vue from 'vue'
import App from './App.vue'
new Vue({
el: '#app',
components: { App }
})
Run Code Online (Sandbox Code Playgroud)
什么是当我需要添加到代码的情况:render: h => h(App)?
我正在使用Provider. 我有两个类:class TenderApiData {}它是独立类(不是小部件)。我怎么能写accesstoken来AppState?
class AppState extends ChangeNotifier // putted to ChangeNotifierProvider
{
String _accesstoken; // need to fill not from widget but from stand alone class
String _customer; // Fill from widget
List<String> _regions; // Fill from widget
List<String> _industry; // Fill from widget
...
}
Run Code Online (Sandbox Code Playgroud)
我需要accesstoken从独立类中读/写的方法。
或者我的应用程序架构有问题?
这是完整的源代码。
我不想使用像 momentjs 这样的任何外部库,我想自己创建一个格式化的日期字符串。我尝试使用new Date().toISOString(),但它正在丢失时区。
这:
new Date()
Run Code Online (Sandbox Code Playgroud)
给出:
Sat Jun 24 2017 09:32:10 GMT+0300 (RTZ 2 (winter))
和:
new Date().toISOString();
Run Code Online (Sandbox Code Playgroud)
给出:
2017-06-24T06:32:22.990Z
并且09:32:10是正确的时间,因此06:32:22丢失了时区信息。
除此之外,它看起来new Date().toLocaleString()几乎满足了我的需要。最后几个小时是正确的。结果:"24.06.2017, 11:37:05"。