我想在AngularJS模板中做一个条件.我从Youtube API获取视频列表.一些视频的比例为16:9,有些视频的比例为4:3.
我想做一个像这样的条件:
if video.yt$aspectRatio equals widescreen then
element's attr height="270px"
else
element's attr height="360px"
Run Code Online (Sandbox Code Playgroud)
我正在使用迭代视频ng-repeat.我不知道该怎么办这个条件:
我是Firebase和nosql的新手,所以请耐心地使用我对sql的引用.所以我的问题是如何在firebase中构建数据?
在firebase中,这是指mysql中的每个"新firebase"="新数据库"还是"表"?
如果在我的实时网络应用程序中,我有用户和评论.在mysql中,我将创建一个用户和一个注释表,然后将它们链接在一起.
我如何在firebase中构建它?
我想在angularJS中激活html5Mode,但我不知道为什么它不起作用.我的代码有什么问题吗?
angular
.module('myApp',[])
.config(function($locationProvider, $routeProvider) {
$locationProvider.html5Mode(true);
$routeProvider.when('/', {
templateUrl: 'partials/home.html',
controller: HomeCtrl
});
$routeProvider.when('/tags/:tagId', {
templateUrl: 'partials/result.html',
controller: TagResultCtrl
});
//$routeProvider.otherwise({redirectTo: '/home', controller: HomeCtrl});
});
Run Code Online (Sandbox Code Playgroud)
在HTML中
<a href="tags/{{tag.id}}"><img data-ng-src="{{tag.imageUrl}}"></a>
Run Code Online (Sandbox Code Playgroud) 我正在使用Windows 7,当我右侧的Windows工具栏,Android模拟器出屏幕.这导致我无法移动窗口.
如何解决这个问题

我在2个差异函数中有2个ajax调用.我想用.click来调用这两个函数.func1将数据插入数据库,然后func2将检索数据,所以我的问题是如何等待func1完全完成然后它只执行func2.
我试过.delay(),它有效,但我认为这是一个愚蠢的解决方案.
$("#updateLocation").click(function(e){
e.preventdefault;
func1();
func2();
});
return false;
});
function func1(){
$.ajax({
url:'',
});
});
function func2(){
$.ajax({
url:'',
});
})?
Run Code Online (Sandbox Code Playgroud) 假设我有一个数组对象
[{
name: 'a',
number: 1
},
{
name: 'b',
number: 2
},
{
name: 'c',
number: 3
}]
Run Code Online (Sandbox Code Playgroud)
而我只想得到名称:'b',它是数组[1]的值.如何将其传递给过滤器?
<li ng-repeat="foo in foos | filter:what_to_do_here="b"><li>
Run Code Online (Sandbox Code Playgroud) 由于firebase不支持任何空间索引,所以我使用geohash,有人在这里建议.Geohash正在使用角色来寻找附近的人物.
所以,假设我在w22qt4vhye1c w99qt4vdf4vc w22qt4vhzerctfirebase中有geohash存储,我想只查询接近哪个geohash w22qt4.
怎么做?
我知道firebase有startAt.我试过但不行.
UPDATE
将geohash存储到firebase
//Encode lat lng, result w22qt4vhye1c3
var geoHashLatLng = encodeGeoHash(lat,lng);
firebaseRef.child('/geohash/' + geoHashLatLng).set(id);
Run Code Online (Sandbox Code Playgroud)
所以在json
root
- geohash
- w22qt4vhye1c3
- id
- z99qt4vdf4vc
- w22qt4vhzerct
Run Code Online (Sandbox Code Playgroud)
我的问题在这里.我只想查询从字符开始的geohash w22qt4.我们可以在firebase中这样做吗?
更新2
startAt()似乎不是以字符开头的查询...
示例:我有以下gehash
geohash节点
geohash
- a123
- a333
- b123
- c123
- d123
Run Code Online (Sandbox Code Playgroud)
使用以下代码
var firebaseRef = new Firebase('https://test.firebaseio.com');
var query = firebaseRef.child('/geohash').startAt(null, 'a');
query.on('child_added', function(snapshot) {
console.log(snapshot.name());
});
Run Code Online (Sandbox Code Playgroud)
会得到这个结果
startAt(null, 'a') //return a123, a333, b123, c123, d123 …Run Code Online (Sandbox Code Playgroud) 我在url中有一个动态值params,我想在onload时得到它并在控制器中使用但是我不知道如何处理 $route.current.params
假设我有这个路由提供商
$routeProvider.when('foo/:bar', {templateUrl: 'template.html'};
Run Code Online (Sandbox Code Playgroud)
然后在我的控制器中
app.controller('mapCtrl', function($scope, $route, $routeParams) {
var param = $route.current.params.bar;
console.log(param);
});
Run Code Online (Sandbox Code Playgroud)
如果用户访问foo/abcdefg假设应该在控制台中显示abcdefg但我收到错误.'无法读取属性'params'的undefined'
我发现angularFire在与纯Firebase JavaScript API结合使用时总是让我感到困惑.
比方说,我不知道如何调用火力地堡datasapshot API ss.name(),ss.hasChild(), ss.forEach()等在angularFire.
因此我决定单独使用Firebase JavaScript API,因为我意识到它已经与AngularJS进行双向数据绑定(显式)而不使用angularFire.
但我遇到了问题ng-repeat.返回的数据是一个对象,所以我无法排序.然后我找到了这个orderByObject过滤器,但是一旦转换为数组,我就会丢失对象密钥.
Firebase团队可以帮助我改进此orderByObject过滤器以支持对象键吗?
我是firebase的新手.我想用angularjs构建它,我发现了angularfire.
在angularFire文档中列出了隐式和显式同步.我试图理解github中的文档,但我仍然不明白有什么区别以及如何使用它们.
angularFire()和angularFireCollection()
此外,什么是参数意味着angularFire()和angularFireCollection()?
谢谢你
angularjs ×6
firebase ×4
angularfire ×2
ajax ×1
arrays ×1
if-statement ×1
javascript ×1
jquery ×1
nosql ×1
windows-7 ×1