我们在上节中提到了,我们的代码实现还是存在问题,这个问题在哪里?
这个是需要去结合vue来看的,因为我写这个东西的时候就是希望在vue中使用,如果最后不能再vue中使用
那么就没有意义了。
而在vue中的使用的实际使用的时候给我出了一个难题,那就是vue的this的执行问题。我们知道vue对自己的实例是做了一层代理的。
我们在创建一个vue实例的时候,走的是data:{属性} 但是实际上我们可以通过this.属性 拿到这个属性值。这就说明了vue的实例对data做了一次代理,使得我们可以快速的拿到值。
因此,我们在使用写methods中的方法的时候,是不能使用箭头函数的,因为如果使用了箭头函数,那么this就会指向当前的环境,最终导致我们获取不到数据。
而在使用AOP的时候,我们并没有去处理this的执行问题,因此如果我们在vue中使用了我们的Action
<script>
let strategy={
strategy1(text='strategy1'){
console.log(text); // eslint-disable-line
},
strategy2(text='strategy2'){
console.log(text); // eslint-disable-line
},
strategy3(text='strategy3'){
console.log(text); // eslint-disable-line
},
}
async function actuator (obj) {
if (obj) {
if (typeof obj === 'function'