[英]How do I make a node-red node that is already on a flow obey the default values of a newly-added property?
[英]How do I add Angular functionality to newly-added HTML?
我有一个Angular的HTML页面。 我想单击一个将Angular input
标签添加到DOM的按钮。 但是,当我这样做时,新的input
文本字段似乎无法按我期望的方式工作。
我的HTML看起来像这样:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.0-rc.2/angular.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript">
var app= angular.module("myApp",[]);
app.controller("myCtrl",function($scope){
});
$(function(){
$("#button").click(function(){
$("body").append("<input type=\"text\" ng-model=\"bar\"><br>{{bar}}");
});
});
</script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<button id="button">click me</button>
<input type="text" name="something" ng-model="foo"><br>
{{foo}}
</body>
</html>
当input
标签已经存在时,我可以很好地使用Angular的函数。 当我在文本字段中键入内容时,将显示输出。 但是,当我单击按钮时,出现新的input
文本字段时,在其中键入内容无济于事。
我想念什么?
我该如何解决?
您无法按照自己的方式混合使用JQUERY和Angular。 您必须选择一个框架并坚持其原则。
为了添加一个控件,您可以使用“ Directives ”。 另一个选择是在模型中有一个对象,并且该对象有机会与您的控制器交互,这将通知View添加另一个控件。
Angular是一个MVC框架,因此您不应该通过另一个框架来操作View(html)。 Angular旨在通过适当的分隔或分层来固定和简化此操作。
您可以参考另一篇关于如何执行此操作的文章:
要在AngularJS中做到这一点:
<body ng-app="myApp" ng-controller="myCtrl">
<button id="button" ng-click="showBarInput=true">click me</button>
<div ng-show="showBarInput">
<input type="text" ng-model="bar"><br>
{{bar}}
</div>
<input type="text" name="something" ng-model="foo"><br>
{{foo}}
</body>
AngularJS框架是一个Model-View-Whatever框架。 模型驱动视图。 在这种情况下, $scope.showBarInput
控制元素的可见性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.