我已经高低搜索了这个答案,但是对于我的生活来说,除了我认为我的用例有点复杂之外我不知道我在做什么与官方例子有什么不同之处:
http://knockoutjs.com/documentation/component-binding.html
基本上,我正在尝试创建可重用的UI元素.行为将基本上通过"params"对象传递给它们.我希望多个元素能够存在于单个页面上,然而,这是我遇到困难的地方.
我正在使用browserify捆绑我的代码并具有以下内容(为简洁起见,某些条目被截断):
的index.html
<div data-bind='component: { name: "toggle" , params: {
enabledText: "Parental controls are enabled",
disabledText: "Parental controls are disabled"
}}'></div>
<div data-bind='component: { name: "toggle" , params: {
enabledText: "Same component, different behavior: enabled",
disabledText: "Same component, different behavior: disabled"
}}'></div>
Run Code Online (Sandbox Code Playgroud)
main.js
var ko = window.ko = require('knockout'),
toggle = require('./components/toggle/toggle');
ko.components.register('toggle', toggle);
function Container() {
}
var con = new Container();
ko.applyBindings(con);
Run Code Online (Sandbox Code Playgroud)
组件/拨动/ toggle.js
var ko = require('knockout'),
template = require('./toggle.html');
function vm(params) {
var …Run Code Online (Sandbox Code Playgroud) 所以我一直在玩Elixir并且对某些事情感到有些困惑:
iex> [ 1 | [ 2 ] ] // [ 1, 2] (expected)
iex> [ 1 | 2 ] // [ 1 | 2 ] (huh?)
Run Code Online (Sandbox Code Playgroud)
我的困惑在于为什么第二个版本会做它的功能.我知道这2不是一个列表,所以它不能将"head"与"tail"连接起来,但是,在我看来,当尾部不是列表时它应该抛出一个错误.我一直在试图想出一个用例来做这种行为,但是空手而归.如果有人能解释为什么这是理想的行为,我真的很感激.谢谢!
任何人都可以在JavaScript中向我解释这种奇怪的行为吗?我以为我理解传递引用和值传递是如何工作的,但是JavaScript似乎在如何处理它.两个简单的例子:
var arr = [1, 2, 3];
function reassign(array) {
array = [1, 1, 1];
}
reassign(arr);
console.log(arr) // [1, 2, 3]
var arr2 = [1, 2, 3];
function withSplice(array) {
array.splice(1, 1);
}
withSplice(arr2);
console.log(arr2) // [1, 3]
Run Code Online (Sandbox Code Playgroud)
我的思维过程在哪里失败?我觉得'重新分配'函数正在接收数组的副本,因此重新分配对原始函数没有任何作用,但是'withSplice'方法似乎接收到了实际的数组.是什么赋予了?提前致谢!
我有一个问题似乎无法在任何地方找到记录或解释,所以我希望有人可以帮助我.我已经验证了三个版本的Ruby上的意外行为,都是2.1+,并且证实它不会发生在早期版本上(虽然它是通过tryruby.org而我不知道他们使用的是哪个版本).无论如何,对于这个问题,我只会发布一些带有结果的代码,希望有人可以帮我调试一下.
arr = %w( r a c e c a r ) #=> ["r","a","c","e","c","a","r"]
arr.select { |c| arr.count(c).odd? } #=> ["e"]
arr.select! { |c| arr.count(c).odd? } #=> ["e","r"] <<<<<<<<<<<<<<< ??????
Run Code Online (Sandbox Code Playgroud)
我认为对我来说这个令人困惑的部分是清楚标记的,如果有人能解释这是一个错误还是有一些逻辑,我会非常感激.谢谢!
我有一个奇怪的问题,我无法用React确定(我也使用CoffeeScript,但我非常怀疑这是一个因素).基本上,我正在跟随一个教程,其中使用Feed组件(父组件),FeedList组件(子组件)和FeedItem(孙组件)构建消息提要...对不起,如果我的术语不正确.相关代码是:
Feed.cjsx
getInitialState: ->
FEED_ITEMS = [
{ key: 1, title: 'Realtime data!', description: 'Firebase is cool', voteCount: 49 }
{ key: 2, title: 'JavaScript is fun', description: 'Lexical scoping FTW', voteCount: 34 }
{ key: 3, title: 'Coffee makes you awake', description: 'Drink responsibly', voteCount: 15 }
]
{
items: FEED_ITEMS
formDisplayed: false
}
...
render: ->
...
<FeedList items={@state.items} onVote={@onVote} />
Run Code Online (Sandbox Code Playgroud)
FeedList.cjsx
render: ->
feedItems = @props.items.map ((item) ->
<FeedItem key={item.key} ... />
).bind(@)
<ul className='list-group container'>
{feedItems} …Run Code Online (Sandbox Code Playgroud)