我有以下型号:
var Soq = Backbone.model.extend({
default:{
'name': 'something'
, 'parents': [] //array will be passed by reference to attributes hash on new object instantiation
}
});
Run Code Online (Sandbox Code Playgroud)
我是javascript和骨干的新手,但是查看源代码我认为可能发生的事情是,当此模型的属性设置为默认值(backbone.js:137)并且默认值是对象时,它通过引用完成.这意味着当我做这样的事情时:
var soq = new Soq;
var parents = soq.get('parents');
parents.push('parent'); //changes defaults of the proto object
var soq2 = new Soq;
console.log(soq2.get('parents');); //will output ['parent']
console.log(soq2.defaults.parents); //will output ['parent']
Run Code Online (Sandbox Code Playgroud)
我是否正确地理解了这一点,如果是这样,那么设置默认值作为对象的最佳方法是什么,而不会在将来的实例引用它们时使它们发生变化?
如果我不清楚或误解某事,请告诉我.在此先感谢您的时间.
我正在写一个jquery扩展,我正在做的事情:
var c = chrome.cookies.get({url:"some-web-site"});
Run Code Online (Sandbox Code Playgroud)
在我的popup.html文件中.
当我尝试运行扩展时,它会给出以下错误:
未捕获错误:参数0的值无效.属性'name':属性是必需的.
并给jqury.min.js:16作为位置(我包括来自谷歌CDN的jquery).
一旦我注释掉上面的代码,扩展运行正常.
有任何想法吗?
我有一个arts_to User的技术模型,由Thinking Sphinx索引.
我的模型中还有一个方法返回一个Technique对象数组:
def possible_children(user)
user.techniques - (self.children + [self])
end
Run Code Online (Sandbox Code Playgroud)
这只是采用用户拥有的技术,减去已经是'self'技术对象的子项的技术,以及'self'本身,并返回剩余的技术对象.
然后在控制器中我实例化可能的子集合,如下所示:
@possible_children = @technique.possible_children(current_user).search params[:search]
Run Code Online (Sandbox Code Playgroud)
这将返回"未定义的方法'搜索'#"
不确定这是否相关,但发生的控制器不是TechniquesController.
我想要做的是搜索由Model方法返回的任意集合.
有任何想法吗?
如果我需要提供更多信息,请告诉我.谢谢.
我正在玩扩展谷歌浏览器,我有一个简单的扩展名运行与以下popup.html文件:
<script type = "text/javascript">
alert("hi from popup.html");
</script>
<body>
Hello World
</body>
Run Code Online (Sandbox Code Playgroud)
一旦我将带有url的src属性添加到google jquery CDN'alert("来自popup.html");' 不再运行.
我的清单文件如下:
{
"name": "My First Extension",
"version": "1.0",
"description": "The first extension that I made.",
"background_page": "background.html",
"browser_action": {
"default_icon": "icon.png",
"popup": "popup.html"
},
"permissions": [
"tabs","http://*/*","https://*/*"
]
}
Run Code Online (Sandbox Code Playgroud)
为什么添加jquery源会破坏弹出窗口?