我已经将vue.js用于了几个项目,并且我一直使用索引作为for循环中的键
<div v-for="(item, index) in items" :key="index"></div>
Run Code Online (Sandbox Code Playgroud)
...并开始怀疑是否存在问题,因为示例通常使用项目的ID.
<div v-for="(item, index) in items" :key="item.ID"></div>
Run Code Online (Sandbox Code Playgroud) 反应示例使用gulp,Grunt或npm以及Browserify或Webpack.在下面的代码中,我有一个没有这些的React应用程序,我只是想知道这最后一步是否可行.
一个HTML页面,它包含React,babel-browser和一个JavaScript文件:
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"></head>
<body>
<script src="https://unpkg.com/react@0.14.0/dist/react.min.js"></script>
<script src="https://unpkg.com/react-dom@0.14.0/dist/react-dom.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.25/browser.min.js"></script>
<script type="text/babel" src="js/App.js"></script>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
这是 App.js
'use strict';
var {
Component
} = React;
class Hdr extends Component {
render() {
return (<header className="container">Header</header>);
}
};
class App extends Component {
render() {
return (
<main>
<Hdr />
</main>
);
}
};
ReactDOM.render(<App />, document.body);Run Code Online (Sandbox Code Playgroud)
该App部件在拉动Hdr部件.这是一个问题:我怎样才能把它Hdr放在一个单独的JS文件中?我试过了,App找不到Hdr.
我需要一个JS循环来将对象数组更改为json对象.以下是对象的示例数组:
var employees= [
{name:"Jeff",manager:null,title:"The Pres"},
{name:"Amy",manager:"Aaron",title:"lll"},
{name:"Chris",manager:"Aaron",title:"lll"},
{name:"Dana",manager:"Aaron",title:"lll"},
{name:"Joe",manager:"Aaron",title:"lll"},
{name:"Mike",manager:"Aaron",title:"lll"},
{name:"Aaron",manager:"Jeff",title:"lll"}
];
Run Code Online (Sandbox Code Playgroud)
这是预期的json对象:
var json = {
name:"Jeff",
title:"The Pres",
children:[{
name:"Aaron",
title:"some title",
children[
{name:"Amy",title:"some title",children[]},
{name:"Chris",title:"some title",children:[]},
{name:"Dana",title:"some title",children:[]},
{name:"Joe",title:"some title",children:[]},
{name:"Mike",title:"some title",children:[]
}]
}]
};
Run Code Online (Sandbox Code Playgroud)
但它超出了我的范围.
永远不会调用jQuery getScript失败函数.看到这个小提琴:http: //jsfiddle.net/getsetbro/8xNMs/
$.getScript("http://api.jquery.com/scripts/jquery.NO-SUCH-FILE.js").done(function() {
console.log('yep');
}).fail(function() {
console.log('fail function does not fire fine');
});
Run Code Online (Sandbox Code Playgroud)
并且永远不会调用完整的函数:http: //jsfiddle.net/getsetbro/ns6yQ/
$.ajax({
url: url,
type: 'get',
crossDomain: true,
dataType: 'script',
async:false,
cache:false,
success: function(result) {
console.log('SUCCESS');
},
error: function(result) {
console.log('ERROR');
},
complete: function(result) {
console.log('COMPLETE');
}
})
Run Code Online (Sandbox Code Playgroud)
哦,在IE中它实际上会触发SUCCESS和COMPLETE它应该失败.= [