我尝试从指令中的html输入标记获取值,并始终得到undefined
,
这是我的代码:
var app = angular.module('templateApp', []);
app.controller('Ctrl', function ($scope, $http, $sce) {
$scope.DataList = "";
$http.post("http://localhost/Service.svc/GetDataMysql", { valval: 0 })
.then(function (data) {
if (data.data) {
$scope.Data = Enumerable.From(data)
.Select(function (x) { return x })
.ToArray();
$scope.DataList = $scope.Data[0].Value;
}
});
});
app.run(function ($http, $templateCache) {
$http.get('Template.html', {
cache: $templateCache
});
});
app.directive('myDir', ['$parse', '$http', '$compile', '$templateCache', '$location',
function ($parse, $http, $compile, $templateCache, $location) {
var linker = function (scope, element, attrs, ngModel) {
element.bind('click', function () {
var ddd = scope.selectedvalue;
scope.DataList = Enumerable.From(scope.DataList)
.Where(function (x) {
return x.LeafParentId == leafParentId
}).ToArray()
$compile(element.contents())(scope);
});
};
return {
templateUrl: 'Templates.html',
transclude: true,
restrict: "E",
scope: {
selectedvalue: '=ngModel'
},
link: linker
};
}]);
这是我的模板:
<section ng-controller="Ctrl">
<section class="box1">
<input type="button" name="" id="1"
ng-value="checkData(DataList[0].Name)"
ng-model="selectedvalue" />
</section>
<section class="box1">
<input type="button" name="" id="2"
ng-value="checkData(DataList[1].Name)"
ng-model="selectedvalue" />
</section>
<section class="box1">
<input type="button" name="" id="3"
ng-value="checkData(DataList[2].Name)"
ng-model="selectedvalue" />
</section>
这是我的html:
<section data-ng-app="templateApp">
<div data-ng-controller="Ctrl">
<ng-dir ></ng-dir>
</div>
</section>
该指令工作正常,但当我点击其中一个输入标签时,ng-model
始终返回undefined
。
var ddd = scope.selectedvalue;
如何从指令输入标记中获取值?