Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 传递给指令的变量在父级变为未定义?_Angularjs - Fatal编程技术网

Angularjs 传递给指令的变量在父级变为未定义?

Angularjs 传递给指令的变量在父级变为未定义?,angularjs,Angularjs,我有以下代码: parent.jade: chat-box(message-content="messageContent" send-message="sendMessage()") div {{messageContent}} parent.js: $scope.messageContent; $scope.sendMessage = function(){ alert($scope.messageContent); } directive.js: app.directive('

我有以下代码:

parent.jade:

chat-box(message-content="messageContent" send-message="sendMessage()")
div {{messageContent}}
parent.js:

$scope.messageContent;
$scope.sendMessage = function(){
    alert($scope.messageContent);
}
directive.js:

app.directive('chatBox', ['$window', function ($window) {
    //---
    return {
        restrict: 'E',
        scope: {
            messageContent: '=',
            sendMessage: '&?'
        },
        templateUrl: '/tpl/chatbox',
        link: function(scope, element, attr){

        }
    };
    //---
}]);
指令1.jade:

div(layout="row" layout-align="bottom bottom" style="padding: 10px; flex-shrink: 0;")
    textarea(ng-model="messageContent" flex)
    md-button(ng-click="sendMessage()")
对于
$scope.messageContent
,它总是会用
undefined
提醒我,但是如果我尝试在
textarea
中使用
ng change
并调用指令中的函数,它会返回正确的值

它还打印父级上div的正确值


有人有想法吗?

我通过更改
$scope.messageContent设法解决了这个问题
$scope.messageContent={}