如何在Vue js中访问子属性(How to access child property in Vue js)
顶部菜单/的script.js
module.exports = { components: { 'topmenuSearch': require('vue').extend(require('./topmenu-search/component.vue')) } }
/topmenu/template.html
<div class="search-overlay" v-if="topmenuSearch.searching"></div>
/topmenu/topmenu-search/script.js
module.exports = { data: function(){ return { results: [], searchValue: '', searching: false } } }
在控制台我得到
build.js:3008 [Vue warn]: Error when evaluating expression "topmenuSearch.searching": TypeError: Cannot read property 'searching' of undefined (found in component: <topmenu>)
我怎样才能访问topmenuSearch的孩子,这样我才能做到这一点?
topmenu/script.js
module.exports = { components: { 'topmenuSearch': require('vue').extend(require('./topmenu-search/component.vue')) } }
/topmenu/template.html
<div class="search-overlay" v-if="topmenuSearch.searching"></div>
/topmenu/topmenu-search/script.js
module.exports = { data: function(){ return { results: [], searchValue: '', searching: false } } }
In console I get
build.js:3008 [Vue warn]: Error when evaluating expression "topmenuSearch.searching": TypeError: Cannot read property 'searching' of undefined (found in component: <topmenu>)
How can I access the topmenuSearch child so I can do this thing?
原文:https://stackoverflow.com/questions/36766354
更新时间:2023-05-28 20:05
最满意答案
如果你有这样的表格:
<form id="form1" runat="server" method =" post"> <asp:HiddenField runat="server" id="test" /> <script type =" text/javascript" src="JavaScript1.js" > </script> <script type ="text/javascript"> GETdateTime("<%=test.ClientID %>"); </script> </form>
比你需要一个JavaScript:
function GETdateTime(hiddenFieldID) { var d = new Date() var date = new String(d.getDate() + "/" + (d.getMonth() + 1) + "/" + d.getFullYear()); var time = new String(d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds()); document.getElementById(hiddenFieldID).value = "<br>" + date + "<br>" + time; }
在提交表单之后的代码中,要获得使用JS设置的值,您可以简单地执行以下操作:
hiddenFieldVal = test.Value
If you have a form like this:
<form id="form1" runat="server" method =" post"> <asp:HiddenField runat="server" id="test" /> <script type =" text/javascript" src="JavaScript1.js" > </script> <script type ="text/javascript"> GETdateTime("<%=test.ClientID %>"); </script> </form>
Than you need a javascript:
function GETdateTime(hiddenFieldID) { var d = new Date() var date = new String(d.getDate() + "/" + (d.getMonth() + 1) + "/" + d.getFullYear()); var time = new String(d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds()); document.getElementById(hiddenFieldID).value = "<br>" + date + "<br>" + time; }
Than, in code behind after form submitted, to get a value set with JS you can simply do:
hiddenFieldVal = test.Value
相关问答
更多-
也许它是由浏览器缓存引起的。 您可以按Ctrl + F5刷新浏览器。 或者在F12开发人员工具中禁用缓存 Maybe it is caused by browser cache. You can press Ctrl+F5 to refresh browser. Or disable cache in F12 developer tools
-
如果你对选择有约束力,用户也可以篡改这些值。 只需验证隐藏字段就像使用其他输入一样。 不要担心漂亮的反馈,如果值超出范围,就抛出异常。 如果有人试图摆弄你的表格,谁会在乎他是否有丑陋的错误。 我想更简洁地回答你的问题:你不能防止篡改客户端,你所能做的只是验证 - 服务器端 If you were binding to the select a user could tamper with those values too. Just validate the hidden field like you wo ...
-
看起来您正在尝试将aspnet Control ID作为变量客户端发送,然后将它们与ClientID一起使用。 您要么不将ID作为变量发送,而只是使用带有ClientID的aspnet ID