Javascript 如何使用angularjs向ng模型返回值的函数?

Javascript 如何使用angularjs向ng模型返回值的函数?,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我想调用一个返回值的函数,我想将该值用作ng模型。 函数返回的值应显示在对话框中 我看到我的对话框为空-无数据 这是我的密码: my dialog是一个用于显示接受templateurl和ng模型的对话框的指令 <my-dialog my-dlg-template-url="/app/ScheduleDlg.html" ng-model="ViewSchedule"> <button ng-click="openDialog()">Schedul

我想调用一个返回值的函数,我想将该值用作ng模型。 函数返回的值应显示在对话框中

我看到我的对话框为空-无数据

这是我的密码: my dialog是一个用于显示接受templateurl和ng模型的对话框的指令

 <my-dialog my-dlg-template-url="/app/ScheduleDlg.html" ng-model="ViewSchedule">
            <button ng-click="openDialog()">Schedule</button>
 </my-dialog>
 $scope.ViewSchedule = function () {
        console.log('ViewSchedule function call');
        .....
        return obj.Schedule();
    };
以下是指令:

 return {
            require: 'ngModel',
            replace: true,
            transclude: false,
            priority: 100,
            restrict: 'E',
            scope: true,

            link: function ($scope, $element, $attrs, $ctrl) {

                var getDialogTemplate = $attrs.myDlgTemplateUrl;

                $scope.openDialog = function (confirmationAction) {
                    var modalInstance = $modal.open({
                        backdrop: 'static',
                        templateUrl: getDialogTemplate,
                        controller: "myDialogCtrl",
                        resolve: {
                            dialogData: function () {
                                return {
                                    dlgData: $attrs.ngModel
                                };
                            }
                        }
                    });

                    modalInstance.result.then(function () {
                        return confirmationAction();
                    });
                };
            }
        };
    }])

    .controller('myDialogCtrl', ['$scope', '$modal', '$modalInstance', 'dialogData', function ($scope, $modal, $modalInstance, dialogData) {

        $scope.dialogData = dialogData.dlgData;

        $scope.onOk = function () {
            $modalInstance.close();
        };
        $scope.onCancel = function () {
            $modalInstance.dismiss('cancel');
        };
    }])
以下是对话框模板:

   <tr ng-repeat="item in dialogData">
            <td>{{item.$index}}</td>
            <td>{{item.StartDate}}</td>
            <td>{{item.EndDate}}</td>

        </tr>

{{item.$index}}
{{item.StartDate}
{{item.EndDate}

ng模型仅当您计划更改模型时才需要建立双向数据绑定,如果不需要具有单向绑定或引用绑定的简单范围定义就可以

你现在有

scope:true
你能行

scope:{
   watchfor:'@result'
}
在指令中设置了一个观察者

scope.$watch('watchfor',function(val){})
在你的直接声明中,你可以

<my-dialog my-dlg-template-url="/app/ScheduleDlg.html" result="ViewSchedule()"> </my-dialog>

并将其设置在指令模板中

        <button ng-click="openDialog()">Schedule</button>

unless you want it linked to your parent scope.
时间表
除非要将其链接到父范围。

结果是从函数返回值还是调用函数?如何使用它在对话框中显示值?使用wa时,函数将返回值,然后该结果将映射到scope.watch for variable。可以在对话框模板中使用的Wichita