我创建了一个指令,我正在尝试访问父作用域.SelectedItemChange没有启动,我无法访问Test1的值。
app.directive('driverNotes', function ($location) {
return {
restrict: 'E',
transclude: true,
templateUrl: "../HtmlTemplates/notesTempl.html",
controller: function ($scope, $http) {
console.log($scope.$parent.Test1);
$scope.SelectedItemChange = function(item) {
if (item != undefined || item != null) {
console.log(1);
}
}
}
}
});
指令模板
<md-input-container class="notesTable" flex-gt-sm ng-disabled="userForm.$invalid" ">
<table class="notesTable">
<tr><th>Description</th><th>Date</th><th>Down</th><th>Premium</th><th>Date Updated</th></tr>
<tr ng-repeat="note in notesSearch">
</tr>
</table>
</md-input-container>
答案 0 :(得分:1)
您应该使用scope: true
var app = angular.module('myApp', []);
app.controller("parentCtrl", function ($scope) {
$scope.name = 'daddy';
});
app.directive('child', function ($location) {
return {
restrict: 'E',
template: 'I am a child of {{parentName}}',
scope: true,
controller: function ($scope) {
$scope.parentName = $scope.$parent.name;
}
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp">
<div ng-controller="parentCtrl as vm">
<child></child>
</div>
</div>
&#13;