我正在使用python / django作为具有复杂表单结构的后端。
我有一个角度控制器,该控制器使并要求获得合适的形式。我找到了一个django-angleular包,它将ng-
model属性添加到输入中。因此,我正在服务器端使用表单呈现模板,并使用HTML提供响应。使用HTML作为响应可能不是最佳实践,但是它使事情耗时少得多。
所以我的问题是,我得到了带有形式的HTML响应和带有’ng-model’属性的输入,但是这种绑定不起作用。有没有办法做到这一点?这只是此html注入的示例:
控制器:
$scope.form = $sce.trustAsHtml(data.HTML);
模板/视图:
<div ng-bind-html="form"></div>
为[$compile](https://docs.angularjs.org/api/ng/service/$compile)
您的html 创建指令。
angular.module("app").directive('compilehtml', ["$compile", "$parse", function($compile, $parse) {
return {
restrict: 'A',
link: function($scope, element, attr) {
var parse = $parse(attr.ngBindHtml);
function value() { return (parse($scope) || '').toString(); }
$scope.$watch(value, function() {
$compile(element, null, -9999)($scope);
});
}
}
}]);
然后添加此指令
<div ng-bind-html="form" compilehtml></div>
演示
AngularJS中的数据绑定就是模型与视图间的自动同步。这种实现方式让你能专心地处理你的模型。视图总是模型的投影。当模型改变,视图就会反映这种改变,反之亦然。 传统的模板系统数据绑定 大部分模板系统都是这种绑定方式。 方向:如图所示,它们将模型和模板结合生成视图。这个结合过程产生的视图不是动态更新的。更糟的是,任何用户和视图的交互都不会反映到模型。这意味着开发者要自动写视图和模型双向的同步代码。
问题内容: 我一直在尝试定义指令,以便可以根据字段的类型及其参数(存储在数据库中)以表格形式显示不同的“窗口小部件”。我需要对不同类型的场景做出反应,因此需要使用指令来处理布局。 在玩一些示例时,我想出了 kinda 可以工作的代码: HTML 指示 这似乎可行(尽管明显比* proper * angularJS变量绑定要慢),但我认为必须有更好的方法来做到这一点。谁能阐明这件事? 问题答案: 我
问题内容: 我知道这是一个古老且可以回答100次的问题,但是随着最新版本的发布,事情变得越来越复杂,因此引起了我很多困惑。我想知道在指令中为属性声明数据绑定的四种当前可用方法之间的区别是什么。特别: 文字装订 双向装订 方法绑定(尽管有人称它为单向绑定) 单向绑定 我对最后两个之间的差异特别感兴趣,因为它们似乎具有重叠的功能,而且我真的无法说出它们之间的差异和优势。 问题答案: 这是有关隔离范围的
问题内容: 我试图弄清楚当我的数据存储在服务中时如何正确处理绑定。 如果将服务放到$ scope中,然后让模板直接绑定到它中,我可以使事情工作,但这似乎是一个糟糕的主意。 我基本上希望拥有它,以便我的视图/控制器能够轻松地将状态更改为服务,并将其反映到各处。 感觉我应该可以执行以下操作,但是不起作用(http://jsfiddle.net/aidankane/AtRVD/1/)。 的HTML JS
问题内容: 有没有办法在AngularJS绑定中使用数学函数? 例如 这个小提琴显示了问题 http://jsfiddle.net/ricick/jtA99/1/ 问题答案: 如果您对数学一无所知,则必须注入示波器 。 最简单的方法,你可以做 在您的控制器中。我猜想正确地做到这一点的角度方法是创建一个数学服务。
问题内容: 数据绑定在框架中如何工作? 我尚未在其网站上找到技术细节。数据从视图传播到模型时,或多或少地清楚了它是如何工作的。但是,AngularJS如何在没有设置者和获取者的情况下跟踪模型属性的变化? 我发现有些JavaScript观察程序可以完成这项工作。但是Internet Explorer 6和Internet Explorer 7不支持它们。那么AngularJS如何知道我更改了以下内容