Onsen UI - 数据绑定不起作用
Onsen UI - Data binding not working
大家早上好,
我是 Onsen UI 的新手,使用 Angular JS v1.6.1 和 Onsen UI v2.
我不明白为什么我的数据绑定不起作用。 CSS 和 JS 文件似乎加载正常,但是当我打开 html 文件时:
1 - 当我点击按钮时,按钮不显示通知
2 - 不显示文本“Default”,而是显示 {{myName}}
3- 填写输入 fill 不会更新 {{myName}}
我遵循了温泉 UI 指南 (https://onsen.io/v2/docs/guide/angular1/)...我不明白可能是什么问题。如果你们中的一些人可以帮助我解决这个问题,我将不胜感激。
祝你有美好的一天!
塞德里克
<!doctype html>
<html lang=“en” ng-app=“my-app”>
<head>
<meta charset=“utf-8”>
<link rel=“stylesheet” href=“onsenui/css/onsenui.css”/>
<link rel=“stylesheet” href=“onsenui/css/onsen-css-components.css”/>
<script src=“js/angular.min.js”></script>
<script src=“onsenui/js/onsenui.js”></script>
<script src=“onsenui/js/angular-onsenui.js”></script>
<script>
var module = angular.module('my-app', ['onsen']);
module.controller('AppController', function() {
ons.notification.alert('Welcome !');
$scope.myName = "Default";
$scope.clickHandler = function(event) { ons.notification.alert('Hello ' + $scope.myName);}
});
</script>
</head>
<body ng-controller=“AppController”>
{{myName}}
<br> <br>
<ons-input ng-bind=“myName” placeholder=“Your Name” float></ons-input>
<br> <br>
<ons-button ng-click=“clickHandler”>Say Hello</ons-button>
</body>
</html>
将所有 “
替换为 "
或 '
。
将 $scope
注入您的控制器:
module.controller('AppController', function($scope) { ...
变化:
ng-click="clickHandler"
收件人:
ng-click="clickHandler()"
再次感谢您的帮助。关于与输入绑定的文本数据,我几乎也设法修复了它:
<script>
var app = angular.module('myApp', ['onsen']);
app.controller('todoCtrl', function($scope) {
ons.notification.alert('welcome!');
$scope.name = 'Default';
$scope.clickHandler = function(event) {
ons.notification.alert('Hello ' + $scope.name);
}
});
</script>
</head>
<body>
<ons-span ng-bind='name'></ons-span>
<br>
<ons-input ng-model='name' placeholder='Your Name' float></ons-input>
<br>
<ons-button ng-click='clickHandler()'>Say Hello</ons-button>
</body>
</html>
每次单击 "Say Hello" 按钮时,数据绑定都会自行更新:
但是,如果不单击按钮,它不会自动更新。
我观察到,如果我用 "input" 替换 "ons-input",数据绑定会自动更新,但我会丢失输入的 Onsen 样式...我想保留我所有的 html 元素作为 ons- 如果可能的话。
非常感谢!
大家早上好,
我是 Onsen UI 的新手,使用 Angular JS v1.6.1 和 Onsen UI v2.
我不明白为什么我的数据绑定不起作用。 CSS 和 JS 文件似乎加载正常,但是当我打开 html 文件时: 1 - 当我点击按钮时,按钮不显示通知 2 - 不显示文本“Default”,而是显示 {{myName}} 3- 填写输入 fill 不会更新 {{myName}}
我遵循了温泉 UI 指南 (https://onsen.io/v2/docs/guide/angular1/)...我不明白可能是什么问题。如果你们中的一些人可以帮助我解决这个问题,我将不胜感激。
祝你有美好的一天!
塞德里克
<!doctype html>
<html lang=“en” ng-app=“my-app”>
<head>
<meta charset=“utf-8”>
<link rel=“stylesheet” href=“onsenui/css/onsenui.css”/>
<link rel=“stylesheet” href=“onsenui/css/onsen-css-components.css”/>
<script src=“js/angular.min.js”></script>
<script src=“onsenui/js/onsenui.js”></script>
<script src=“onsenui/js/angular-onsenui.js”></script>
<script>
var module = angular.module('my-app', ['onsen']);
module.controller('AppController', function() {
ons.notification.alert('Welcome !');
$scope.myName = "Default";
$scope.clickHandler = function(event) { ons.notification.alert('Hello ' + $scope.myName);}
});
</script>
</head>
<body ng-controller=“AppController”>
{{myName}}
<br> <br>
<ons-input ng-bind=“myName” placeholder=“Your Name” float></ons-input>
<br> <br>
<ons-button ng-click=“clickHandler”>Say Hello</ons-button>
</body>
</html>
将所有 “
替换为 "
或 '
。
将 $scope
注入您的控制器:
module.controller('AppController', function($scope) { ...
变化:
ng-click="clickHandler"
收件人:
ng-click="clickHandler()"
再次感谢您的帮助。关于与输入绑定的文本数据,我几乎也设法修复了它:
<script>
var app = angular.module('myApp', ['onsen']);
app.controller('todoCtrl', function($scope) {
ons.notification.alert('welcome!');
$scope.name = 'Default';
$scope.clickHandler = function(event) {
ons.notification.alert('Hello ' + $scope.name);
}
});
</script>
</head>
<body>
<ons-span ng-bind='name'></ons-span>
<br>
<ons-input ng-model='name' placeholder='Your Name' float></ons-input>
<br>
<ons-button ng-click='clickHandler()'>Say Hello</ons-button>
</body>
</html>
每次单击 "Say Hello" 按钮时,数据绑定都会自行更新:
但是,如果不单击按钮,它不会自动更新。
我观察到,如果我用 "input" 替换 "ons-input",数据绑定会自动更新,但我会丢失输入的 Onsen 样式...我想保留我所有的 html 元素作为 ons- 如果可能的话。
非常感谢!