Angularjs ng-model更新输入元素的变量而不是div元素

时间:2016-12-25 20:15:32

标签: javascript html angularjs

所以我是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”变量?

1 个答案:

答案 0 :(得分:5)

https://docs.angularjs.org/api/ng/directive/ngModel

  

ngModel指令使用NgModelController将inputselecttextarea(或自定义表单控件)绑定到作用域上的属性,NgModelController由NgModelController创建和公开这个指令。

那里没有列出

div。 :(

如果您仍然希望使用div工作,请查看此处的示例! https://docs.angularjs.org/api/ng/type/ngModel.NgModelController#custom-control-example