小编The*_*Guy的帖子

Svelte 反应式语句,仅在某些引用变量发生更改时更新

我已经使用 Svelte 一段时间了,这个问题确实让我很烦恼。如何创建一个反应式语句,当仅更改某些引用的变量时该语句就会更新?

例如,我d只想在ab发生变化时重新计算,而不是在c发生变化时重新计算:

<script>
    let a = 1;
    let b = 2;
    let c = 3;
    $: d = a + b + c;
</script>
Run Code Online (Sandbox Code Playgroud)

但当、、 或发生变化d时会重新评估。abc

我怎么能这么做呢?

svelte

5
推荐指数
1
解决办法
1426
查看次数

TypeScript:可选的合并类型

我有 typea和 type b,但这应该适用于任何数量的类型。

type a = {
    first: number
}

type b = {
    second: string
    third: string
}
Run Code Online (Sandbox Code Playgroud)

我想创建一个可以选择合并所有这些类型的类型,所以如果它有这个second字段,它也应该有这个third字段,但它不必同时拥有它们:

好的:

const aa = {
     first: 1,
     second: "hi",
     third: "hello"
}

const ab = {
     first: 1
}

const ac = {
     second: "hi",
     third: "hello"
}
Run Code Online (Sandbox Code Playgroud)

坏的:

const bb = {
     first: 1,
     second: "hi"
}
Run Code Online (Sandbox Code Playgroud)

我怎么能定义这样的类型?

typescript typescript-typings

4
推荐指数
1
解决办法
242
查看次数

我如何将 Materialize CSS 和 JavaScript 组件集成到 Svelte 中

我是 Svelte 的新手,我想用它来构建我的下一个项目。

我想将 Materialize 用于 CSS 和 JavaScript 组件,但我找不到设置它并与 Svelte 集成的方法。

我怎么能那样做?

javascript materialize svelte

3
推荐指数
1
解决办法
2442
查看次数

Twitter.sharedInstance()不存在swift TwitterKit

我是Xcode和swift的新手.

我已经开始使用TwitterKit,我已经使用cocoapods在我的项目上安装了它,我遵循了这个教程:https://dev.twitter.com/twitterkit/ios/installation

问题是,当我尝试在AppDelegate中初始化TwitterKit时,我无法使用Twitter.sharedInstace,因为Twitter不存在.(我已经在AppDelegate中导入了TwitterKit import TwitterKit)

这是我的App Delegete课程:

import UIKit
import TwitterKit
import Firebase
import FirebaseAuth

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

var window: UIWindow?


    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        Twitter.sharedInstance().start(withConsumerKey:"********", consumerSecret:"*******") 
        //Here I get the error: Use of unresolved identifier 'Twitter'       
        return true
        }
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

twitter ios cocoapods swift twitterkit

2
推荐指数
1
解决办法
1558
查看次数

在 Clojure 中编写中缀宏时出现问题

我正在尝试编写 Clojure 中缀宏,但出现我不明白的编译错误。

它应该从正则数学表达式语法生成函数调用:

(macroexpand '(infix 3 * (2 + 1)))
;; => (* 3 (+ 2 1))
Run Code Online (Sandbox Code Playgroud)

我尝试将list语句转换为引用,但没有成功。

宏:

(defmacro functionize [macro]
  `(fn [& args#] (eval (cons '~macro args#))))

(defmacro infix
  ([n]
   (if (not (or (number? n) (fn? n)))
     `(~(apply (functionize infix) n))
     n))
  ([fir sec & res]
   (list sec (infix fir) (infix res))))
Run Code Online (Sandbox Code Playgroud)

错误:

1. Caused by java.lang.IllegalArgumentException
   Don't know how to create ISeq from: clojure.lang.Symbol
Run Code Online (Sandbox Code Playgroud)

错误发生在最后一行,第一次调用infix.

clojure

0
推荐指数
1
解决办法
316
查看次数