R.prop(' parentNode',R .__)返回一个函数

时间:2017-08-08 12:27:32

标签: javascript ramda.js

我编写了一个函数 init ,它应该获取相对于 align 属性的className,并将此className设置为parentNode。但我收到一个函数而不是parentNode。请帮忙



const addClass = R.curry((className, el) => {
    console.log(className) //=> String
    console.log(el) //=> Function ???

    R.forEach(
        R.call(R.invoker(1, 'add'), R.__, el.classList),
        R.split(', ', className)
    )
})

const getAlignClassName = R.compose(
    R.cond([
        [R.equals('left'), R.always('video--align-left')],
        [R.equals('right'), R.always('video--align-right')],
        [R.T, R.always('video--align-center')]
    ]),
    R.prop('align')
)

const init = R.call(
    addClass,
    getAlignClassName(R.__),
    R.prop('parentNode', R.__)
    //R.prop('parentNode') // this one also returns a function
)

const tmp = { align: 'left', parentNode: 'some parent node' }

console.log(init(tmp))

<script src="https://cdn.jsdelivr.net/ramda/latest/ramda.min.js"></script>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

我刚刚将 R.call 替换为 R.converge 。所以,它现在正在运作)