1
カスタムディレクティブの中から$modelValue
と$viewValue
にアクセスしようとしているうちに、私はnull
を取得しています。
var demo = angular.module('demo', []);
demo.directive('dogInfo', function($parse) {
return {
restrict: 'E',
require: 'ngModel',
template: "<div> Dog's name: {{dogname}}<br>View Name: {{viewValue}}<br>Model Value: {{modelValue}}<br> Tag name: {{tagName}}</div>",
link: function (scope, element, attrs, controller) {
scope.viewValue = controller.$viewValue;
scope.modelValue = controller.$modelValue;
scope.tagName = controller.$name;
}
}});
function MyCtrl ($scope) {
$scope.dogname = 'Hero'; // now
};
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js"></script>
<div ng-app='demo'>
<p ng-controller='MyCtrl'>
<dog-info ng-model="dogname" name="Doggggyyy"/>.
</p>
</div>
私はこの出力を取得しています:
Dog's name: Hero
View Name: null
Model Value: null
Tag name: Doggggyyy
ここでフィドルです:http://jsfiddle.net/cxdun3y8/3/
私はそれを取得できません。コントローラのエイリアスを作成し、テンプレートのviewValueプロパティに直接アクセスしました。私のアプローチはなぜ機能しないのですか? – Daud
私は基本的にリンク関数でviewValueが必要です。 – Daud
最初のケースでは空の(今のところ)直接値へのリンクがあり、それだけで変更されるためです。 2番目のケースではオブジェクトを取得し、各ダイジェストで値が再表示されます。そして、いつも実際になるでしょう – Vitalii