我正在尝试让服务器端渲染在 VueJS 中工作。
我一直在关注官方文档,并且正在尝试使用 axios 使此示例正常工作。端点是正确的,数据确实显示在mutation.
https://ssr.vuejs.org/guide/data.html
我也找到了这个页面并尝试了其中的大部分示例,其中包括使用 getter、vuex mapState、mapGetter 等:
这是store/index.js:
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
import { fetchPage } from './api'
export function createStore () {
return new Vuex.Store({
strict: true,
state: () => ({
res: {}
}),
actions: {
actXY ({ commit }, page) {
fetchPage('homepage').then((item) => {
commit('mutXY', { page, item });
}).catch(error => {
throw new Error(`Store ${error}`);
})
}
},
mutations: …Run Code Online (Sandbox Code Playgroud) 我正在尝试在ClojureScript中创建新元素,但它似乎不起作用.我将通过展示我在这里找到的一个例子来启动.
(let [dom6238 (.createElement js/document "a")]
(.setAttribute dom6238 "href" "http://somelink")
(set! (.-innerText dom6238) "Text")
dom6238)
Run Code Online (Sandbox Code Playgroud)
他们说的转换为:
var dom54535 = document.createElement("a");
dom54535.setAttribute("href", "http://somelink.com");
dom54535.innerText = "Hello there";
return dom54535
Run Code Online (Sandbox Code Playgroud)
如果我没有弄错的话,这应该会生成一个HTML代码段,如下所示:
[:a.anchor.silly {:href "http://somelink.com"} "Text"]
Run Code Online (Sandbox Code Playgroud)
我在.cljs文件中有这个:
(defn create-button []
(let [a (.createElement js/document "a")]
(.setAttribute a "href" "http://somelink")
(set! (.-innerText a) "Text")
a))
(defn init []
(let [a (.getElementById js/document "write-action")
b (.getElementById js/document "button-field")]
(set! (.-innerHTML a)
"field a")
(set! (.-innerHTML b)
(create-button))))
Run Code Online (Sandbox Code Playgroud)
这只是生成(按钮字段在HTML上的写入操作之上):
http://somelink/
field a
Run Code Online (Sandbox Code Playgroud)
所以没有锚标签,只有文本.
我试图做的是创建一个按钮,所以我有这个代码: …
我完全被困在哪里开始为我正在建立的Clojure网站获取登录区域(为了好玩).
我已经查看了几个资源,我将在下面发布,无情地复制/粘贴代码,而我能得到的最接近的资源是以下两种情况之一:
登录页面进行登录,但是说登录失败了,据我所知,登录匹配.
或者我得到这个错误:在multimethod' - > sql'中没有方法用于调度值:null
我不知道如何解释上述错误:这是指定我需要一个多方法,或者其指定我需要检查空?null要求根本没有意义.我不是真的在问,但是如果有人想要解释,这很好.
我通过比较原始非散列数据的结果与选择查询来测试输出,我在这个主题上经历了5个变体,使用从页面到页面调用到创建新的defpartials,多方法,defn的所有内容等
我使用的来源(不幸的是,我不能列出所有这些都是第一次发布的海报):
这个使用Clojure - > Korma - > PostgreSQL,但代码似乎不适用于多个用户?
http://www.vijaykiran.com/2012/01/17/web-application-development-with-clojure-part-2/
这个展示了如何使用Noir和PostgreSQL(是的,我正在使用Noir):https://yogthos.net:11794/blog/23-Novo + tutorial +- + part + 2
4Clojure网站,但那个使用CongoMongo:
Heroku Twitter克隆,但没有提到如何为一个人创建登录,更不用说几个.
我还从O'Reilly Press购买了Programming Clojure,但再一次,没有关于如何创建登录区域的信息.
第一次编辑:我被要求创建一个独立站点的github存储库.这包括在welcome.clj文件,只在login.clj登录区域的形式找到了工作"帐户创建"区域.
我试图得到一些与昨晚相同的错误,并且在我上传文件之前也试图让它工作.我还没有任何合理的起点,因此目前还没有开始实施.我对我提出的解决方案感到非常尴尬,因此我不想发布它们.我从概念上得到了我应该做的事情,但出于某种原因,我似乎无法翻译这一点.这是我的第一个github帐户:我的背景是Python,Scheme a'la SICP,以及我构建的一些Python + PostgreSQL营销程序.
第二次编辑: Ack!我似乎无法完成这项工作......是的,我花了20多分钟(小时)来完成这一项,所以我必须承认我还没有必要的知识来完成这,无论我看到多少来源.我提交了更新的文件以及我尝试的所有奇怪的事情,包括登录框中运行原始SQL的所有变体.我能得到的最接近的是得到它以便我没有得到任何错误,但没有证据表明某人已经登录.非常感谢您的帮助和建议.我肯定会在以后再回到这里.
我有一个像这样开始的函数:
(defn data-one [suser]
(def suser-first-name
(select db/firstNames
(fields :firstname)
(where {:username suser})))
(def suser-middle-name
(select db/middleNames
(fields :middlename)
(where {:username suser})))
(def suser-last-name
(select db/middleNames
(fields :lastname)
(where {:username suser})))
;; And it just continues on and on...
)
Run Code Online (Sandbox Code Playgroud)
当然,我根本不喜欢这个.我在代码库的许多方面都重复了这种模式,我想概括一下.
所以,我想出了以下内容:
(def data-input {:one '[suser-first-name db/firstNames :firstname]
'[suser-middle-name db/middleNames :middlename]
'[suser-last-name db/lastNames :lastname]})
(defpartial data-build [data-item suser]
;; data-item takes the arg :one in this case
`(def (data-input data-item)
(select (data-input data-item)
(fields (data-input data-item))
(where {:username suser}))))
Run Code Online (Sandbox Code Playgroud)
这里有几个问题: …
我一直在将一些Noir网站转换为Compojure.
我在这里有一个函数来创建页面的布局:
(defn layout [title & content]
(html5
[:head
[:title "My Site | " title]
(include-css "css/main.css")
[:body
[:header
[:h1 (link-to "/" "My Site")]]
content]))
Run Code Online (Sandbox Code Playgroud)
这是功能和路线:
(defn home-page []
(layout
"Home"
[:div [:p "Home Page"]])))
(defn article-list []
(layout
"Article List"
[:div [:p "Article List"]])))
(defroutes app-routes
(GET "/" [] (home-page))
(GET "/article-list" [] (article-list))
Run Code Online (Sandbox Code Playgroud)
当我打开localhost:3000/article-list时,所有CSS规则都可以正常工作.
但是,当我尝试扩展URL路径并将程序更改为:
(defn article-list []
(layout
"Article List"
[:div [:p "Article List"]])))
(defn article-one []
(layout
"Article One"
[:div [:p "Article One"]])))
(defroutes app-routes
(GET …Run Code Online (Sandbox Code Playgroud) 我有这个奇怪的部分演示。这是代码:
首先声明一个向量和一个部分。正如预期的那样, reduce 和 apply 对 vector 上的整数求和a:
> (def a [1 2 3 4 5])
> (def p (partial + 10))
> (apply + a)
15
> (reduce + a)
15
Run Code Online (Sandbox Code Playgroud)
现在,使用上的部分应用p和载体a,我得到的总和a与+10从局部的,这是有道理的:
> (apply p a)
25
Run Code Online (Sandbox Code Playgroud)
现在,使用(reduce)对我来说毫无意义。哪里55来的?
> (reduce p a)
55
Run Code Online (Sandbox Code Playgroud)
我能想到的最接近的是,(reduce)version 从 1 索引中添加 10 并在将所有内容添加在一起之前忽略零索引:
> (+ (first a) (reduce + (map #(+ % 10) (rest a))))
55
Run Code Online (Sandbox Code Playgroud)
我只是好奇是否有人确切地知道这里发生了什么?我真的不知道我期待什么答案,但我也不明白发生了什么。我不知道为什么我会得到 …
我正在尝试创建一个函数,该函数将采用通用表并将 N 列转换为大写。我没有找到此类问题的解决方案,但我能够提出以下建议:
create or replace function uc_on_insert()
returns trigger as
$$
declare
p_tbl varchar = TG_TABLE_NAME;
p_sch varchar = TG_TABLE_SCHEMA;
i varchar;
begin
for i in
(select column_name
from INFORMATION_SCHEMA.COLUMNS
where 1=1
and table_name ilike p_tbl
and table_schema ilike p_sch
and data_type ='character varying')
loop
execute 'new.' || i || ' = upper(new.' || i || ');';
return new;
end loop;
end;
$$ language plpgsql;
Run Code Online (Sandbox Code Playgroud)
我目前收到此错误:
ERROR: syntax error at or near "new"
LINE 1: new.c1 = upper(new.c1);
^ …Run Code Online (Sandbox Code Playgroud) 我有一个生成N元组的迭代器,但在这里我会假装我有3.它们的长度都很均匀.
t1 = (a1, b1, c1)
t2 = (a2, b2, c2)
t3 = (a3, b3, c3)
Run Code Online (Sandbox Code Playgroud)
我想将上面的内容转换成:
d = {a1: [a2, a3],
b1: [b2, b3],
c1: [c2, c3]}
Run Code Online (Sandbox Code Playgroud)
我知道我应该迭代元组并以某种方式将它们压缩成字典,但我几乎被卡住了.
我开始使用PostGIS in Action.这本书展示了从各种查询创建的一堆整洁的图形,但没有提到如何让这些图形显示.查询工作正常.
我在网上找到的所有教程都显得过时,例如,建议安装不再可用的插件.我知道我错过了一些明显的东西,但我不知道它会是什么.
我正在使用Windows 7,PostgreSQL 9.3,PostGIS 2.1.
UPDATE
非常感谢你们.我决定使用QGIS,它按照承诺工作.很难选择任何一个答案,因为它们既精彩又信息丰富.
clojure ×5
hiccup ×2
noir ×2
postgresql ×2
compojure ×1
dynamic-sql ×1
javascript ×1
korma ×1
macros ×1
plpgsql ×1
postgis ×1
python ×1
refactoring ×1
triggers ×1
types ×1
vue.js ×1
vuex ×1