HTML
<div class="form-group"><label class="col-md-4 control-label" for="s1">URL</label>
<div class="col-md-4"><input id="url" name="url" type="text" ng-change="checkVal()" ng-model="url" placeholder="" class="form-control input-md"></div>
</div>
Javascript v1.6
var app = angular.module('urlGeneratorAvid', [])
.controller('macroControllerAvid',['$scope', function ($scope) {
$scope.needQuestionMark = true;
$scope.url = '';
$scope.checkVal = function() {
console.log("Checking Value.");
if ($scope.url.includes('?')) {
console.log("Detected!");
$scope.needQuestionMark = false;
console.log("Question Mark Variable: " + $scope.needQuestionMark);
} else {
$scope.needQuestionMark = true;
console.log("Question Mark Variable: " + $scope.needQuestionMark);
}
}
}]);
目标
从指令中处理变量 needQuestionMark 。它目前从指令输出正确的数据,但我似乎无法操纵它。
终极目标
检测到的网址输入包含一个问号,因此完整的URI不包含第二个问号,而是一个&符号。
AngularJS新手所以,如果我朝错误的方向走,请告诉我,谢谢!
答案 0 :(得分:1)
我不确定我是否100%得到你。
检测并操作ngModel /输入值。你不必使用它的指令。
好主意是把手表放在控制器内,就像这样
$scope.$watch('$scope.textBox', function(newValue, oldValue) {
// do stuff to the text everytime it changes
});
第二个选项可以是将ng-change添加到html
第三。为它做组件,它就像一个指令,但是一种使用Angular的新方法。
还有关于你的控制器。尝试使用控制器作为。下面是一些有用的工作人员休闲:)