Javascript 是否有一个相当于;诸如此类+;变量+&引用;诸如此类;有棱角的?
这实际上是有效的:Javascript 是否有一个相当于;诸如此类+;变量+&引用;诸如此类;有棱角的?,javascript,angularjs,Javascript,Angularjs,这实际上是有效的: <div ng-include="'/partials/' + items.my_filename + '.html'"></div> 我很高兴它能工作,但有人知道如何消除错误吗 编辑:它从远程数据库中提取变量,延迟是否会导致错误 EDIT2:是的,这就是原因。我认为这是Firebase的问题。如果使用ng <div ng-if="items.my_filename" ng-include="'/partials/' + items.my_fi
<div ng-include="'/partials/' + items.my_filename + '.html'"></div>
我很高兴它能工作,但有人知道如何消除错误吗
编辑:它从远程数据库中提取变量,延迟是否会导致错误
EDIT2:是的,这就是原因。我认为这是Firebase的问题。如果使用ng
<div ng-if="items.my_filename" ng-include="'/partials/' + items.my_filename + '.html'"></div>
使用这样一个事实,ng include
,给定一个null
参数,它将什么也不做
因此,你可以走这条路
<div ng-include="partialPath"></div>
或者您也可以使用这样的过滤器(非常适合重复使用)
使用以下部分定义
<div ng-include="my_filename | partialize"></div>
你真的有文件partials/.html
?没有文件名?没有,我有partials/test.html,变量是“test”。它工作正常,但仍然给我404。你绝对确定项。我的文件名是测试?是的,我刚想出来,它从Firebase获得“test”变量,有一个延迟,所以它认为第一次找不到它,直到找到为止。我仍然不知道如何消除这个错误,但这就是导致它的原因。你得到答案了吗?接近!出于某种原因,我需要做一些不同的事情:var testRef=newfirebase('https://mydatabase.firebaseio-demo.com/test'); testRef.on('value',函数(快照){$scope.test=snapshot.val();})代码>然后ng if=“test”
更多地与Firebase有关,而不是与Angular有关。
<div ng-include="partialPath"></div>
app.controller('Ctrl', function ($scope, $http) {
$scope.partialPath = null;
$http.get(...).success(function (data) {
$scope.partialPath = '/partials/' + data.my_filename + '.html';
});
});
app.filter('partialize', function () {
return function (name) {
return name ? '/partials/' + name + '.html' : null;
};
});
<div ng-include="my_filename | partialize"></div>