Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果不存在段落,则默认情况下创建段落_Javascript_Html_Angularjs - Fatal编程技术网

Javascript 如果不存在段落,则默认情况下创建段落

Javascript 如果不存在段落,则默认情况下创建段落,javascript,html,angularjs,Javascript,Html,Angularjs,我正在添加json文件中的段落。我如何计算它们(我尝试了.length),如果少于10,我需要创建默认值并将它们添加到页面上?例如,用户可以添加带有一些自定义文本的段落,如果他添加3个段落,默认情况下我想再添加7个。所以页面上始终有10个。这是我的结构,目前显示了4段,因为json文件中只有4段: <div class="row" ng-repeat="p in list.paragraphs" ng-class="isSelectedBoard(p)"> <p cl

我正在添加json文件中的段落。我如何计算它们(我尝试了.length),如果少于10,我需要创建默认值并将它们添加到页面上?例如,用户可以添加带有一些自定义文本的段落,如果他添加3个段落,默认情况下我想再添加7个。所以页面上始终有10个。这是我的结构,目前显示了4段,因为json文件中只有4段:

<div class="row" ng-repeat="p in list.paragraphs" ng-class="isSelectedBoard(p)">
     <p class="slide-wrap" ng-click="setMasterBoard(p)">
         some text goes here
     </p>
</div>

我会在控制器中执行此操作。在从json文件添加段落的函数中,在添加文件中的所有段落后,只需添加足够的默认段落,使
段落的长度等于10

angular.module('app',[]).controller('MyController',function($scope){
$scope.list={
段落:[{
text:“这是一个用户段落。”,
defaultBG:“#000”
}, {
text:“这是另一个用户段落。”,
defaultBG:“#000”
}, {
文本:“这是第三个用户段落。”,
defaultBG:“#000”
}]
}
var默认段落={
text:“这是默认段落。”,
defaultBG:“#000”
};
for(变量i=$scope.list.parations.length;i<10;i++){
$scope.list.parations.push(默认段落);
}
});

{{p.text}}


我会在控制器中执行此操作。在从json文件添加段落的函数中,在添加文件中的所有段落后,只需添加足够的默认段落,使
段落的长度等于10

angular.module('app',[]).controller('MyController',function($scope){
$scope.list={
段落:[{
text:“这是一个用户段落。”,
defaultBG:“#000”
}, {
text:“这是另一个用户段落。”,
defaultBG:“#000”
}, {
文本:“这是第三个用户段落。”,
defaultBG:“#000”
}]
}
var默认段落={
text:“这是默认段落。”,
defaultBG:“#000”
};
for(变量i=$scope.list.parations.length;i<10;i++){
$scope.list.parations.push(默认段落);
}
});

{{p.text}}



似乎在控制器中执行此操作要容易得多。好的,有什么建议吗?我的意思是使用JSFIDLE将是最好的:-)我可以看看您现有的控制器代码,或者至少是与加载这些段落相关的部分吗?检查我对部分控制器视图的编辑,好像在您的控制器中这样做要容易得多。好的,有什么建议吗?我的意思是使用JSFIDLE将是最好的:-)我可以看看您现有的控制器代码,或者至少是与这些段落的加载相关的部分吗?检查我对控制器部分的编辑。这里是您的答案。这基本上就是我要说的。谢谢,但是我得到了
ng repeat dups
错误,我应该在html中做些什么来解决这个问题?当我添加
track by$index
时,它会显示段落,但我仍然有这个错误showing@Lex也可以通过推送传递其他数据吗?例如,如果我添加var defaultBG=“#000”;我如何将其与DefaultParague一起传递?@Morpheus您可以使段落成为包含您想要的任何属性的对象。用户段落是什么样子的?您可以使默认值与这些匹配。至于dups错误,我以前使用过track by$index来修复它,所以我不确定。让我调查一下。好了,这是你的答案。这基本上就是我要说的。谢谢,但是我得到了
ng repeat dups
错误,我应该在html中做些什么来解决这个问题?当我添加
track by$index
时,它会显示段落,但我仍然有这个错误showing@Lex也可以通过推送传递其他数据吗?例如,如果我添加var defaultBG=“#000”;我如何将其与DefaultParague一起传递?@Morpheus您可以使段落成为包含您想要的任何属性的对象。用户段落是什么样子的?您可以使默认值与这些匹配。至于dups错误,我以前使用过track by$index来修复它,所以我不确定。让我调查一下。
$scope.list = {};

$http.get('name.json').success(function(data, status, headers, config) {

    $scope.list = data;

});