为了账号安全,请及时绑定邮箱和手机立即绑定

怎样写这个指令,让它看起来像是一个整体?

怎样写这个指令,让它看起来像是一个整体?

犯罪嫌疑人X 2018-08-14 10:09:07
<div id="EmailInput" v-dir-email.needat="emailAddress">    <input type="text" v-model="emailAddress">    <ul>        <li v-for="email in emails | filterBy host" @click="setEmail(email)">{{email}}</li>    </ul></div>现在指令跟实例是分开的,但是逻辑上,它们应该是一个整体才对,应该怎么写才能把它们两个整合到一起呢?是把指令里边的东西,写在实例里边还是怎么样呢?我把实例中的data移动到directive里边,刷新没问题,往里一打值就报错。我在bind钩子上使用this.vm.$set也是报错,都报Vue warn: You are setting a non-existent path "emailAddress" on a vm instance. Consider pre-initializing the property with the "data" option for more reliable reactivity and better performance.好像是说无法在实例上设置不存在的数据。我找到方法了,是在directive的bind中使用Vue.set(),把属性设置进去。但是为什么不能用this.vm.$set,教程里边明明写着可以用这两种方法,但是使用后者总报上边那个错(设置不存在的路径错误)。
查看完整描述

1 回答

?
DIEA

TA贡献1820条经验 获得超3个赞

實際上如果你要建立一個 全局 的指令的話,就只能這樣做,可以放在實例裡面,但就不是全局了,而是當前實例底下才有作用,例如你放在 Component 底下,那就只有該 Component 底下才能用。


查看完整回答
反对 回复 2018-09-25
  • 1 回答
  • 0 关注
  • 685 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号