Я новичок в angularjs. Все еще понимая детали и как это работает. Я в ситуации, когда я не могу найти это простое решение. Надеюсь, кто-то может помочь мне здесь.Не удается прочитать данные о свойствах неопределенных (Angularjs- не удается прочитать данные из шаблона в контроллер)
Я создал структуру папок
Select
->SelectModule.js
->SelectDirective.js
->SelectController.js
->SelectTemplate.html
Вот содержимое внутри каждого файла.
SelectModule.js
angular.module('Select', []);
SelectDirective.js
'use strict';
angular.module('Select').directive('Select', Select);
function Select() {
return {
transclude: false,
scope: {
},
controller: 'SelectController',
templateUrl: 'app/directives/Select/SelectTemplate.html'
};
};
SelectController.js
use strict'
var SelectMod = angular.module('Select', []);
SelectMod.controller('SelectController', function ($scope) {
console.log($scope.details.data);
});
SelectTemplate.html
<section ng-controller="SelectController">
<div><label>Data:</label><div><input type="number" ng-model= "details.data" ng-init="details.data=0.2" step="0.1" /></div></div>
</section>
Теперь в шаблоне я инициализировал details.data = 0.2. Если вы видите в контроллере, я пытаюсь получить на это инициализированы данных в Templete и вывод его в консоли с помощью этого заявления
console.log($scope.details.data);
Проблема заключается в том, когда я запускаю код и проверьте консоль. он дает ошибку, заявляя, что «Невозможно прочитать данные свойства« неопределенного ». Как получить это значение в контроллере. если я получу эту вещь, я узнаю, как получить данные из шаблона и процесса в контроллере. Я застрял здесь. кто-то, пожалуйста, предложите или сообщите мне, где я ошибся.
@ charlietfl- даже если я инициализирую переменные в контроллере, он обеспечивает такую же ошибку. Напр. Я инициализировал его в контроллере с помощью $ scope.details.data = 2; а затем попытался утешить. он не работал. – Ayesha
вы не можете создать объект таким образом ... '$ scope.details = {data: 2}'. Если нет объектов 'details', вы не можете ссылаться на его свойство. Угловой позволяет это в представлении, но он должен по существу делать то же самое. Это стандартный javascript – charlietfl
@ charlietfl- действительно, это был ват, я делал неправильно. Благодарю вас за то, что я пролил свет. – Ayesha