【发布时间】:2023-03-22 09:38:01
【问题描述】:
所以我试图复制部分 div(所以我可以有多个部分和多篇文章)。我尝试对两个 div 使用相同的控制器,如下所示。因此,我可以通过将其附加到 main 来添加该部分,但我无法编辑第二个 div。有没有办法解决?
我没有使用引导程序,而是使用 xeditable。
HTML:
<div id="main" ng-app="main">
<div class = "section" ng-controller="newsController">
<h2 id="section" editable-text="sections.section">{{sections.section}}</h2>
<div class = "article" ng-repeat="article in sections.articles">
<h3 id="title" editable-text="article.title"><a editable-text="article.link" href="{{article.link}}">{{article.title}}</a></h3>
<p id="publisher" editable-text="article.publisher">{{article.publisher}}</p>
<p id="orig_title" editable-text="article.orig_title">{{article.orig_title}}</p>
<p id="descr" ng-bind-html="article.description" editable-text="article.description"></p>
</div>
<div class = "section" ng-controller="newsController">
</div>
</div>
JS:
newsletter.controller('newsController',function($scope){
$scope.sections = {
section: "Faculty",
articles: [
{
title: "In __ We Trust",
link:'http://wee.com',
publisher: "Me",
orig_title:"",
description: "Description Here"
}
]
};
$scope.addItem = function(){
$scope.sections.articles.push(this.sections.articles.temp);
$scope.sections.articles.temp={};
};
)};
var newSection = '//Pretend all the tags and the attributes as above are placed here'
$("#add-section").click(function(){
var $section = $('#main').append(newSection);
});
抱歉格式化。我还是新手。谢谢!
编辑:我也在尝试使这个动态化,以便用户可以编辑标题和出版商等文本。如何使添加的部分也可编辑?
【问题讨论】:
-
如果行为完全相同,则应该使用指令。
-
而且你不应该使用 jquery。
-
你能解释一下为什么我不应该使用 jquery 吗?我仍在尝试理解角度和东西
-
您不需要 jquery 来执行点击事件并追加。您可以使用本机 JS。另见
angular.element:docs.angularjs.org/api/ng/function/angular.element -
@smirkin 除非您在指令中使用 jquery,否则您所做的所有更改都发生在角度上下文之外,这意味着您将失去角度在范围方面所做的所有“神奇”内容,数据绑定等。你应该在这里阅读答案:stackoverflow.com/questions/14994391/…
标签: javascript jquery angularjs x-editable