假设我有两个坐在对象内的数组,以及一个从用户指定的数组中删除项目的函数.
var warehouse{
shirts: [],
shorts: [],
deleteItem: function(itemType, itemNumber){
this.itemType.splice(itemNumber, 1);
}
}
Run Code Online (Sandbox Code Playgroud)
所以,如果我这样做:
function('shirts', 0);
Run Code Online (Sandbox Code Playgroud)
它应该删除'shirts'数组中的第一项.问题是,它告诉我itemType即将出现undefined
我有一个简单的应用程序,可以捕获输入中的任何内容,并将其打印在 h1 中。
<div id="app">
<div>
<module v-on:button-pressed="parentPrint(capturedInput)"></module>
</div>
<h1>{{ h1Text }}</h1>
</div>
Run Code Online (Sandbox Code Playgroud)
问题是,h1 不会更新以反映输入值。
Vue.component('module', {
template:`
<div>
<input type="text" placeholder="Type Something Awesome" v-model="capturedInput" />
<button v-on:click="activateButtonPress">Change text</button>
</div>
`,
data(){
return {
capturedInput: ''
}
},
methods:{
activateButtonPress: function(){
console.log(this.capturedInput)
this.$emit('button-pressed', this.capturedInput)
}
}
})
new Vue({
el:'#app',
data:{
h1Text: 'Should reflect user input'
},
methods:{
parentPrint: function(capturedInput){
this.h1Text = capturedInput;
}
}
})
Run Code Online (Sandbox Code Playgroud)
我如何实际将数据传递到发射中并使其在父作用域中可用?capturedInput一直回来undefined找我。
试图从商店内推动路线变化。我尝试导入router到商店本身,然后按照以下方式做一些事情:
LOG_OUT({commit}){
commit('LOG_OUT__MUTATION');
router.push({
name: 'Login'
})
}
Run Code Online (Sandbox Code Playgroud)
......但这没有用。
我也不想直接从组件推送路由更改,因为这意味着我需要检查身份验证并在每个组件中推送路由更改,这对我来说似乎很麻烦。
编辑:
该LOG_OUT__MUTATION清除存储在状态令牌。
我已经实施express-validator并正在尝试清理用户正在搜索特定查询的输入字段。
我使用的测试查询是<script>Malicious code</script. 当请求进来时,我使用:
req.sanitizeQuery('searchQuery');
Run Code Online (Sandbox Code Playgroud)
当我然后检查查询是否已被清理时,该字符串没有以任何方式被更改/清理。
我在这里可能从根本上误解了消毒,在这种情况下,请指出。如果我是,那么我可以去填补我的知识空白,但与此同时,我可以向我的消毒剂抛出什么“测试”查询以检查它是否有效?
我似乎无法在从代码库其他部分导入的构造函数上导出原型。
所以,如果我在functions.js:
export function Product(unprocessedItem) {
let item = Object.assign({}, unprocessedItem);
return item;
}
Product.prototype.printThat = function() {
console.log('Yo, it worked!')
}
Run Code Online (Sandbox Code Playgroud)
然后在其他地方执行此操作:
import {Product} from '@/js/functions'
let product = new Product(result);
product.printThat();
Run Code Online (Sandbox Code Playgroud)
printThat() 似乎不起作用...
javascript ×4
vue.js ×2
arrays ×1
ecmascript-6 ×1
express ×1
node.js ×1
sanitization ×1
vue-router ×1
vuex ×1