- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图理解观察者,但我遇到了一些奇怪的问题。
我有这样的代码:
HTML
<div ng-app='dummyApp'>
<div ng-controller="SampleController as sample">
<input type="checkbox" ng-model="sample.toggleValue" />
<p ng-model="sample.toggleValue"></p>
<textarea ng-model = "sample.toggleValue"></textarea>
<p ng-model="sample.text"></p>
</div>
</div>
JS
(function() {
angular.module('dummyApp', []);
angular.module('dummyApp')
.controller('SampleController', SampleController);
function SampleController($scope) {
var vm = this;
vm.text = "";
$scope.$watch('sample.toggleValue', function(newVal, oldVal) {
console.log({newval: newVal, old: oldVal});
vm.text = vm.text + ";";
});
}
})();
console.log
工作正常,并在控制台中更改值时显示这些值。但 toggleValue
的值都不是也不是 text
的值显示在浏览器中;两者都是<p>
s 保持为空(实际上,我希望 p 标签中默认有一个与 ng-model 中的变量无关的值(例如
ng-pristine
,
ng-untouched
和
ng-empty
.
但是,<textarea>
显示true/false
值符合预期。
我没有在 DOM 中的任何地方使用 $scope,所以我认为这不是继承的问题。我还用 Batarang 检查了范围。
我在这里不知所措。
附注这是一个 fiddle :https://jsfiddle.net/6bud04er/
最佳答案
p
中没有文字标签,这就是它们不可见的原因。不要使用ng-model对于 p
标签,这不是它的目的。 ngModel
绑定(bind)input
到模型 Controller 。如果您希望将该值添加到 <p>
标签,使用 ng-bind 指令或使用 {{ expression }}
Angular 的语法如下所示。
(function() {
angular.module('dummyApp', []);
angular.module('dummyApp')
.controller('SampleController', SampleController);
function SampleController($scope) {
var vm = this;
vm.text = "";
$scope.default = "default string";
$scope.$watch('sample.toggleValue', function(newVal, oldVal) {
console.log({newval: newVal, old: oldVal});
//vm.text += vm.text + ";";
});
}
})();
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app='dummyApp'>
<div ng-controller="SampleController as sample">
<input type="checkbox" ng-model="sample.toggleValue" />
<textarea ng-model = "sample.text"></textarea>
<p ng-hide="sample.toggleValue">toggle is false</p>
<p>{{default}}</p>
</div>
</div>
关于javascript - bool 值并不反射(reflect)在 ng-model 的任何地方;使用 Batarang 进行验证并使用 Controller 作为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41620266/
我曾尝试在本地站点、托管站点甚至 Angular 站点上使用它,但我得到的只是带有 Angular 的 HTML 列表。没有范围,没有模型,没有任何有用的东西。我假设它应该有助于在 Chrome 中使
我目前正在使用 AngularJS 1.3.0 稳定版和 Batarang Chrome 扩展。在监视树中,我注意到在我的许多范围内都有一个叫做“interceptedExpression”的东西。那
考虑以下因素: HTML Exploring directives Some text {{Info.Version}} Hello, {{Info
如果没有网络服务器,我无法运行 batarang chrome 扩展。在 Chrome 中加载本地文件时,模型根本不显示。我正在使用 --allow-file-access-from-files 参数
我最近一直在摆弄 Batarang 插件来分析一些性能。我注意到在每个日志的顶部都有一个专门用于称为“regularInterceptedExpression”的部分。任何人都可以解释这意味着什么以及
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 8年前关闭。 Improve this qu
我刚刚注意到 Batarang分析我的 AngularJS 应用程序显示如下: ngRepeatWatch | 64.2% | 136.0 毫秒 这比下一个报告的指令耗时多 10 倍。 这是否意味着我
(我将这篇文章添加到 Github 上类似/近期经历的长篇系列文章中。我希望这里有人能给出答案。) 哦,很好,我不只是愚蠢。 尝试通过书籍自学 Angular。当它调用 batarang 来显示小示例
我有一个关于 AngularJs 范围的问题,尤其是使用 Batarang Chrome 扩展程序检查这些范围的方式。 我有以下 html : My AngularJS App
我正在尝试使用 Angular Batarang Chrome 扩展来调试基于 AngularJS 的应用程序。 我们没有使用 ng-app="foo" 属性来引导应用程序,而是调用进行手动引导(请参
我想知道在 Internet Explorer 的调试和分析方面是否有 Chrome 扩展 Batarang 的替代插件(它甚至可以是 Edge,这很好)。 我们的组织最近禁止了 Chrome,并且我
我试图理解观察者,但我遇到了一些奇怪的问题。 我有这样的代码: HTML JS (function() { angular.module
我是一名优秀的程序员,十分优秀!