У меня возникла проблема с созданием нового представления. Маршрут работает просто отлично, потому что он отлично отображает требуемый HTML, но выражения, которые отлично работали в основном представлении, не отображаются в новом.Выражение AngularJS не работает в другом виде
<a href="#/view/{{todo.id}}" id="super" ng-repeat="todo in todos | filter: search">
<div id="main" ng-class="{'done': todo.done}">
<input type="checkbox" ng-model="todo.done" />
<span>{{todo.title}}</span>
<button id="info">i</button>
<div class="inf">
<span>Prioritás: {{todo.priority}}</span>
</div>
<div class="inf" id="sec">
<span>Határidő: {{todo.deadLine | date: "yyyy. MMMM. dd"}}</span>
</div>
</div>
</a>
Это выражения на главном экране, они работают как шарм.
myTodoList.config(['$routeProvider', function($routeProvider, $locationProvider) {
$routeProvider
.when('', {
templateUrl: 'index.html',
controller: "mainController"
})
.when('/view/:id', {
templateUrl: 'view.html',
controller: "mainController"
}).otherwise({
redirectTo: ''
});
Это часть маршрута, это работает.
<div id="mainContent">Master Detail
<div ng-controller="mainController" ng-view></div>
</div>
Это div
, где открывается новый вид.
<div>
<p>Should be the ID: {{todo.id}}</p>
<p> should be the title: {{todo.title}}</p>
<p> this works: {{1+2}}</p></div>
И это view.html
. Третье выражение работает, поэтому у меня проблема с двумя другими выражениями. Я думаю, что я испортил это, потому что не могу достичь данных, которые я хочу. todo.id
и todo.title
- это данные, созданные function
в режиме реального времени.
$scope.addTodo = function(title, priority, deadLine, id) {
$scope.todos.push({
'id': lastId,
'title': $scope.newTodo,
'done': false,
'priority': $scope.newPriority,
'deadLine': $scope.newDeadLine
});
$scope.newTodo = ''
$scope.newPriority = ''
$scope.newDeadLine = ''
lastId++;
}
Это function
Я использую. Надеюсь, я хорошо описал проблему.
codepen: codepen.io/Gazvezr/pen/Qddzgy –