coffeescript 相关问题

CoffeeScript是一种编译成JavaScript的语言。在所有这些令人尴尬的括号和分号下面,JavaScript总是拥有一个华丽的对象模型。 CoffeeScript试图以一种简单的方式公开JavaScript的优点。

简洁地链接v模型?

让下面的代码是 Child,它嵌入在它的 Parent 中,并且有一个 NestedChild,它最终具有 或 。 现在,下面的代码将不起作用。父母重新渲染和更新</desc> <question vote="1"> <p>让下面的代码成为 Child,它嵌入在它的 Parent 中,并且有一个 NestedChild,它最终具有 <pre><code><input></code></pre> 或 <pre><code><textarea></code></pre>.</p> <p>现在,下面的代码将不起作用。 Parent 重新渲染并更新 value prop,因此结果只是最后输入的字母。</p> <pre><code>// Child.vue <script lang='coffee'> export default props: ['value'] computed: edit: get: -> @value set: (e) -> @$emit 'input', e # ... </script> <template lang='pug'> div NestedChild( v-model='edit' ) //- ... </template> </code></pre> <p>文本需要存储在代理变量中。</p> <pre><code>... data: -> proxy: '' computed: edit: get: -> @proxy = @value set: (e) -> @$emit 'input', @proxy = e ... </code></pre> <p>适用于 NestedChild -> Child,或 Child -> Parent,但不适用于 Nested -> Parent,其中 Parent 最后将其存储在 Vuex、磁盘等中。该值不会在 Parent 中更新。</p> <p>让它工作的简单方法是将一个<pre><code>propName</code></pre> prop 传递给 Child,然后通过 propName 直接更新 Vuex 中的相关数据,也就是根本不使用 v-model。但是那个</p> <ul> <li>a) 对我的用例来说真的很糟糕 - Parent 读取数据(例如从磁盘)并确定要显示哪些 Children(通过 <pre><code>component :is</code></pre>)</li> <li>b) 对于最终包含 <pre><code><input></code></pre></li> 的 NestedChildren 毫无意义 <li>c) 在开发阶段总体上更难</li> </ul> <p>因此实际上只解决了 Child 的问题,而不是 Parent -> Child -> NestChild1 -> NestChild2 -> ... -> input</p> <p>那么,如何简洁地链接 v-model 呢?谢谢。</p> </question> <answer tick="true" vote="0"> <p>因此,无需在单独的数据变量中代理值。问题中的原始代码片段应该可以工作,并且会冒泡到父母和父母的父母等</p> <p>这里又是代码,只是转换为javascript和html,而不是coffeescript和pug;否则与问题中的相同。</p> <pre><code><template> <div> <NestedChild v-model='edit'> <!-- ... --> </div> </template> <script> export default { props: ['value'], computed: { edit: { get: function() { this.value }, set: function(e) { this.$emit('input', e) } } } // ... }; </script> </code></pre> <p>(决定留下问题,也许对某人有用)</p> </answer> <answer tick="false" vote="0"> <p>使用组合 API 和脚本设置的一般模式将遵循以下</p> <pre><code><template> <div> <h4>Child (leaf) Component</h4> <input type="text" v-model="myValue" /> <p>Value: {{ myValue }}</p> </div> </template> <script setup lang="ts"> import { computed } from "vue"; const { modelValue } = defineProps<{ modelValue: string }>(); const emit = defineEmits(["update:modelValue"]); const myValue = computed({ get() { return modelValue; }, set(nextValue: string) { emit("update:modelValue", nextValue); }, }); </script> </code></pre> <p>保持上面的模式:</p> <pre><code><template> <div> <h2>Parent Component</h2> <input type="text" v-model="parentValue" /> <child-component v-model="parentValue"></child-component> <p>Parent Value: {{ parentValue }}</p> </div> </template> <script setup lang="ts"> import ChildComponent from "./ChildComponent.vue"; import { computed } from "vue"; const { modelValue } = defineProps<{ modelValue: string }>(); const emit = defineEmits(["update:modelValue"]); const parentValue = computed({ get() { return modelValue; }, set(nextValue: string) { emit("update:modelValue", nextValue); }, }); </script> </code></pre> <p>为此,最顶层的元素必须为 v-model 提供一个值</p> <pre><code><script setup> import { ref } from 'vue' import ParentComponent from './ParentComponent.vue'; const message = ref('') </script> <template> <parent-component v-model="message" /> </template> </code></pre> <p>以下<a href="https://sfc.vuejs.org/#eNrNlM2OmzAUhV/F8iZESrDUmVVKkKpR1e2suqm7oOGGMArGsk3aKuLde22IMYSJsuhoZuefe66Pjz840y9SxqcG6IYmeqdKaYgG08iUi7KStTLkTBTsSUv2qq7IAksXfus5UyDMU40zgYO+JGaTddt/8ZmLXS20IRVonRVAtrZvtFgsuUhYdzQeihMDlTxmBnBGSCJdr/XOH3JaV3UOxy2nfSdOCcPahHkhXdHO4brKZPyia4HXO9t2vN/QnG6IW7Fr6M/OOT0YI/WGMb3fWdMvOq5VwXAUq0aYsoIYdLX+perfGhQ25nQV9GC4eAK1RsM5KFC3ek5Kr/rati0XLV5lJk37WuOY8vLkBjg8fEo7CfGahOFiv10K2Rhi/krACA38MZjfkGkX9/fsaCNxuTrR7lAe89lHGAnShE0qLw3kxZOrxOzPJFCStk2YZQ4rWXeV4DkdFSGc5JiJwrrHoEJQ7amNgfxCa/+yiF5f8mTNTXjlNGbjdZuwU3XAnom7a28Uuc1hXwp4VrXUSbi5IdqoUhSkTaOll0NVGi/6ihMd/eC0kTlebTOIOf1pNRdVGM7WXyxyyBZgouWFXoWBKBG4wCaIjuMSw4oEvvDInVdaY9GskxXxKuupa9faYfClIpnXsd0G8yF1ihGXD/dx6bC6wrJQmchfZzMUIZpz1QOfnbUBz0H8X+j85g+f4W9m00N4B93vyGmQ0ofF9JV0b7P6mA6yEbCP9wE7wHZFrQxbD8BNFG/+T3xHaqZX/aDotP8A1KswAw==" rel="nofollow noreferrer">游乐场链接</a>展示了如何链接它</p> </answer> </body></html>

回答 0 投票 0

CreateJS createjs.Ticker.off(“ tick”,element.update)不起作用

我正在制作射击游戏,需要将子弹绑定到'tick'事件来更新子弹的状态,但是,当调用remove方法将子弹从'tick'事件中移除时,它不会...

回答 1 投票 0

Atom编辑器:无法加载init.coffee-错误:保留字'function'

更新:我找到了该问题的解决方案/解决方法。我将init.coffee重命名为init.js,因为Atom还支持JavaScript。我仍然想知道问题的原因。是下面的脚本...

回答 1 投票 1

Coffeescript:是否可以在不总是创建键的情况下有条件地声明属性?

假设我想创建一个对象,其中某些成员并不总是存在t = {a:1,b:b,如果b} console.log t#{a:1,b:undefined}我正在尝试当b丢失时可以达到此结果...

回答 1 投票 1

成帧器X-如何自动跳至下一页

我最近沉迷于Framer X以制作原型,在某些页面中,我想播放gif来演示加载过程,然后它会自动跳到下一页,可能是在...之后]]

回答 1 投票 0

如何在使用咖啡的Rails中使用React?

我正在Rails应用程序(5.2)上添加Reactjs,但我想使用coffeescript编写它。我添加了webpack并安装了react和coffee支持,两者似乎都可以正常工作,但是当我想使用...

回答 1 投票 0

CoffeeScript-使用理解将对象转换为矩阵

我有一个形式为{a:[1,2,3,4],b:[5,6,7,8]}的对象,我想使用理解将其转换为数组数组3个项目中:[['a',0,1],['a',1,2],['a',2,3],['a',3,4],...

回答 1 投票 0

ActionCable消息已保存,但在after_create_commit中忽略了广播

我正在使用此ActionCable演示作为设置用户消息传递的准则,但我正在对其进行更改,以便用户之间可以有多个私人房间。该消息通过...

回答 1 投票 1

如何在Ubuntu(12.04)上正确安装最新版本的CoffeeScript。

如何在Ubuntu 12.04上逐步安装最新版本的CoffeeScript。 CoffeeScript的当前版本是1.6.3。任何注释都非常有用。

回答 3 投票 8

尽管条件为真,但仍执行Javascript其他语句

我正在尝试使用JavaScript实现三态html标签,当用户单击标签时,该标签会在3个不同的CSS类名称之间进行迭代。我用过一个简单的if-> else if-> else if ...

回答 1 投票 -1

使用Rails webpacker从Coffeescript到ES6,如何管理类?

我不是一个熟练的JavaScript专家。我正在将一个非常老的应用程序迁移到webpacker。我有很多这样的coffeescript文件:class @SectionTable构造函数:-> @table = $('#...

回答 1 投票 0

vue.js三元样式绑定-无效的表达式:意外的标记']'

partNav = Vue.component('part-nav',{数据:navItems:[{子项:[{...} {...}]} {...}#navItems数组中的另一个对象] .. 。

回答 2 投票 0

CoffeeScript中的语句时遇到多个条件

[在芬兰,与许多国家一样,我们用不同的名字来命名。我正在尝试编写一个Ubersicht应用程序以显示一年中的某一天以及该天的名称。我带来了...

回答 1 投票 0

underscore.js中按日期对数组进行排序

[我正在使用Coffescript,underscore.js,淘汰赛,并且我试图按日期对数组进行排序,但是由于某种原因,它无法正常工作Data:account = [{102,“ abc”,“ 2015-12-22T00: 00:00“},{163,” test“,” ...

回答 1 投票 0

如何使用在node_modules中本地安装的软件包中的可执行文件?

我如何在node.js中使用模块的本地版本。例如,在我的应用程序中,我安装了coffee-script:npm install coffee-script这会将其安装在./node_modules中,而coffee命令在。/ ...

回答 22 投票 479

咖啡和枚举值

我正在研究coffeescript(http://coffeescript.org/)中的枚举/常量的概念,并想出了以下似乎可以的以下代码。我怎样才能使它变得均匀...

回答 6 投票 9

coffeescript-为什么总是将其输出为'1'?

即使randomArea不是North,为什么它总是输出为“ 1”?如果randomArea =“ North” id.innerHTML =“ 1”否则,如果randomArea =“ South” id.innerHTML =“ 2”否则,如果randomArea =“ East” ...

回答 1 投票 0

在Mongodb中执行数据清理

我的应用程序跟踪整个系统中数据的移动。记录动作后,它将放置在一个单独的集合中,该集合确定文档是否在途中,可用或超出...

回答 1 投票 0

如何使用CoffeeScript在目录中自动显示BufWritePost?

我正在使用该vim插件编写coffeescript,我希望将所有源文件都保存在/ src /中,即使编译后的文件可能位于其他位置,如/或/ public / js。我知道我可以将vim自动保存到...

回答 2 投票 3

循环访问数组项

为了简单起见,我正在将一个正在处理的项目从JavaScript转换为CoffeeScript,但是我有一个循环(或几个循环),需要访问数组项才能正常工作。这是循环...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.