Я работаю над приложением angularjs, и я хочу отображать данные со страницей шаблона, если это возможно. Например:
<div data-ng-view=""></div>
<input type="text" name="name" data-ng-model="post.name"/>
<input type="text" name="comment" data-ng-model="post.comment"/>
<button data-ng-click="">Post</button>
Я обычно делаю это таким образом, но мне просто интересно, возможно ли, что я смогу добиться этого с помощью кнопки?
<a href="#post/{{name}}">Post</a> //HTML
app.config(['$routeProvider', function ($routeProvider) {
$routeProvider.
when('/post/:name', {
templateUrl: 'template.html',
controller: 'postCtrl'
});
}]);
app.controller('postCtrl', function ($scope, $routeParams) {
$scope.name = $routeParams.name;
$scope.comment = $routeParams.comment;
});
Когда кнопка нажата, введенные данные будут отображаться на странице шаблона следующим образом.
name1: this is a comment
name2: this is another comment
Попробуйте $location.path()
:
Html:
<button data-ng-click="postCall()">Post</button>
Ввести зависимость $location
в контроллере как:
app.controller('myCtrl', function ($scope, $location) {
$scope.postCall = function() {
$location.path("#post/" + $scope.name)
};
});
Может, тебе нужно что-то вроде этого?
{{ name }}
<br>
{{ comment }}
В контроллере:
$scope.onClick = function () {
$scope.name = 'this is name';
$scope.comment = 'this is comment';
}