Javascript Angularjs引导datetimepiker不绑定模型

Javascript Angularjs引导datetimepiker不绑定模型,javascript,html,angularjs,Javascript,Html,Angularjs,在MVC项目中使用带有对象属性的AngularJS指令时,我遇到了一个小问题。整体结构是一个.cshtml页面,其中包含对脚本文件的引用,脚本文件包含应用程序、控制器和指令的定义。一切正常,对所有对象和变量的访问都非常好,控制台上没有显示错误 这是我的设置,首先是指令: var app = angular.module("dataContainer", ['ngMaterial']); app.directive('dateTime', function () { r

在MVC项目中使用带有对象属性的AngularJS指令时,我遇到了一个小问题。整体结构是一个.cshtml页面,其中包含对脚本文件的引用,脚本文件包含应用程序、控制器和指令的定义。一切正常,对所有对象和变量的访问都非常好,控制台上没有显示错误

这是我的设置,首先是指令:

var app = angular.module("dataContainer", ['ngMaterial']);
app.directive('dateTime', function () {
    return {
        template: '<input type="text" id="datetimepicker" class="form-control">',
        restrict: 'E',
        require: 'ngModel',
        scope: {},
        link: function (scope, element, attr) {
            $('#datetimepicker').datetimepicker({
                format: 'DD/MM/YYYY'
            });
        }
    };
});
之后,我插入了html标记,如下所示:



但是,当我在
ng上触发一个操作时,单击
保存信息
$scope.dateValue
始终是一个空字符串,好像它无法正确绑定到div。我还尝试从指令中删除scope属性,将其更改为
true
false
,但没有任何效果。这是一个可访问性问题(可能与日期选择器有关)?有没有更好的方法将变量绑定到AngularJS中的指令?谢谢大家的帮助

您已经需要
ngModel
,您需要使用它。见答案

此外,您不能设置输入
id
,因为同一页面中可能有许多输入。相反,
查找指令元素中的输入,并调用其上的插件

var-app=angular.module(“app”,[]);
应用程序控制器('controller',函数($scope){
$scope.dateValue=新日期();
$scope.foo='bar';
});
app.directive('dateTime',function(){
返回{
模板:“”,
限制:'E',
要求:'ngModel',
作用域:{},
链接:功能(范围、元素、属性、模型){
const input=element.find('input');
input.datetimepicker({
onChangeDateTime:函数(日期){
作用域$apply(函数(){
ngModel.$setViewValue(日期);
});
}
});
ngModel.$render=function(){
input.val(ngModel.$modelValue);
}
}
};
});

{{dateValue}}

我的答案有什么想法吗?谢谢@MoshFeu提供的解决方案
app.controller("InvoiceDetailController", function ($scope, $http) {
    $scope.dateValue = "";
    ...