Angularjs 传递给指令的变量在父级变为未定义?
我有以下代码: parent.jade: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('
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={}父控制器中的代码>