所以我是Angularjs的新手,但我正在尝试为用户可以发表评论的评论区编写代码。为此,我使用具有conteneditable =“true”属性的div元素。这是我的html代码:
<html>
<script src="./includes/angular.min.js"></script>
<script src="./includes/angular.route.js"></script>
<script src="./includes/angular.sanitize.js"></script>
<script src="./includes/test.js"></script>
<body ng-app="testapp" ng-controller="cnt1">
<div contenteditable="true" ng-model='comment'>{{comment}} </div>
<input ng-model='comment' type='text'/><br>
<div>{{comment}}</div>
</body>
</html>
这是.js代码
/// <reference path="./angular.min.js"
/// <reference path="./angular.route.js"
/// <reference path="./angular.sanitize.js"
/// <reference path="./jq/jquery-2.0.3.min.js"
/// <reference path="./moment.min.js"
/// <reference path="https://ajax.googleapis.com/ajax/libs/webfont/1.4.7/webfont.js"
var app = angular.module("testapp", ['ngRoute', 'ngSanitize']);
app.controller("cnt1", function ($scope, $http, $rootScope, $timeout) {
$scope.comment = "type here";
});
我不明白为什么ng-model更新输入元素中的“comment”变量,但它不会更新div元素的变量!任何帮助表示赞赏! 如果$ apply()可以解决这个问题,我应该如何使用它来更新div元素中的“comment”变量?
答案 0 :(得分:5)
https://docs.angularjs.org/api/ng/directive/ngModel
那里没有列出
ngModel
指令使用NgModelController将input
,select
,textarea
(或自定义表单控件)绑定到作用域上的属性,NgModelController由NgModelController创建和公开这个指令。
div
。 :(
如果您仍然希望使用div
工作,请查看此处的示例! https://docs.angularjs.org/api/ng/type/ngModel.NgModelController#custom-control-example